Python/Conceitos básicos/Classes

Origem: Wikilivros, livros abertos por um mundo aberto.
Ir para: navegação, pesquisa

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(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.

Ver também[editar | editar código-fonte]

<div class="noprint" id="auto-nav-inf"> <ul class="auto-nav"> <li class="auto-nav-index"><a title="Acima: Conceitos básicos" href="/wiki/Python/Conceitos_b%C3%A1sicos">Conceitos básicos</a></li> <li class="auto-nav-prev"><a title="Anterior: Erros e exceções" href="/wiki/Python/Conceitos_b%C3%A1sicos/Erros_e_exce%C3%A7%C3%B5es">Erros e exceções</a></li> <li class="auto-nav-next"><a title="Posterior: Encapsulamento" href="/wiki/Python/Conceitos_b%C3%A1sicos/Encapsulamento">Encapsulamento</a></li> </ul></div> <div class="printonly">Obtido em "http://pt.wikibooks.org/w/index.php?title=Python/Conceitos_básicos/Classes&oldid=265856"</div>