Python/Conceitos básicos/Classes
Voltar para a página inicial.
Criamos o objeto classe com “class nome:”, ela é composta de atributos que representam este objeto. Quando a classe é atribuída a outro objeto, este objeto é chamado de instância da classe. Os métodos, que também são definidos para programação orientada a objetos, são funções dentro de uma classe. Todos os métodos ou atributos da classe são obrigados a passar por parâmetro ou argumento a palavra self antes de tudo, isso é convencionado pelo próprio desenvolvedor, por padrão se chama self, o self foi convencionado nos parâmetros dos métodos e atributos devido a filosofia da linguagem de estar tudo explícito, especificar de onde o valor vem. Assim os métodos são chamados objeto.metodo (argumento1, argumento2, ...) são definidos iguais a uma função.
Os atributos da classe (ou variável da classe) podem ser instanciados em qualquer lugar da classe, e os atributos de instância (ou variável de instância) devem ser declarados dentro dos métodos utilizando o parâmetro self.
class Nó: esquerda, direita, valor = None, None, 0 def __init__(self, valor): # construtor dos valores self.esquerda = None self.direita = None self.valor = valor class Ordenação: def __init__(self): # inicializa a raiz da árvore self.root = None def AdicionaNo(self, valor): return Nó(valor) def Inserir(self, raiz, valor): # inserir novo valor if raiz == None: # não há nenhum valor return self.AdicionaNo(valor) else: # já está na árvore if valor <= raiz.valor: # se os dados forem menores do que os armazenados # entra na sub-árvore do lado esquerdo raiz.esquerda = self.Inserir (raiz.esquerda, valor) else: # entra na sub-árvore do lado direito raiz.direita = self.Inserir (raiz.direita, valor) return raiz
Brincando com instância de classe:
class A: a = 1 # atributo publico __b = 2 # atributo privado a class A class B(A): __c = 3 # atributo privado def __init__(self): print self.a print self.__c a = A() print isinstance(a, B) # ''Objeto a'' é uma instância da ''classe B''? Falso. a = B() # Instancía o ''objeto a'' na ''classe B'' e imprime os atributos da classe. print isinstance(a, B) # ''Objeto a'' é uma instância da ''classe B''?Verdadeiro. b = B() # Instancía o ''objeto b'' na ''classe B'' e imprime os atributos da classe. print isinstance(b, B) # ''Objeto b'' é uma instância da ''classe B''? Verdadeiro. b = A() # Instancía o ''objeto b'' na ''classe A''. print isinstance(b, A) # ''Objeto b'' é uma instância da ''classe A''? Verdadeiro.