Python se comporta como uma linguagem totalmente funcional de programação orientada a objetos ( OOP) . A fim de aproveitar o poder do OOP , os programadores devem compreender conceitos como classes e herança. Usando herança significa aulas de construção que utilizam a funcionalidade de mais classes básicas como uma fundação. Esta prática também inclui a capacidade para as classes de redefinir mais velhos métodos de classes para usos específicos. Classes em Python
Classes trabalhar como os planos para objetos , definindo o que eles fazem e como eles trabalham com outros objetos. Normalmente, uma declaração de classe é semelhante a este exemplo:
classe MyClass :
//class definição
A definição de classe é onde o programador define quais ações um objeto pode fazer, e as informações que ele contém . Um método básico para uma classe é o método "init" , que dita o que acontece quando um objeto da classe é criado:
def __ init__ (self):
self.x = 1
self.y = 2
Este método na classe MyClass irá garantir que cada objeto MyClass tem um x e y valor , igual a 1 e 2, respectivamente .
< br > Derivado Classes
Algumas classes irão compartilhar funcionalidade semelhante com outras classes , mas estender essa funcionalidade . Por exemplo, ter uma "bola" de classe que pode representar uma bola de futebol ( no código) . Considere-se também que existe uma classe " esfera " que representa uma simples esfera e contém o raio ( r ) e um método para calcular a área de superfície ( Sarea ( ) ) . Neste caso, a única diferença entre os dois é que a classe "Bola " precisa de dados adicionais para registro de cores . Portanto, em vez de reescrever o código da "Esfera " em " bola ", o programador apenas deriva Bola de Sphere:
classe Ball ( esfera) :
Agora , Bola de classe pode acessar qualquer método ou dados de classe Sphere (r, Sarea ()) , e usá-lo para si mesmo) .
Substituindo métodos base
O programador então pode desejar certifique-se de que cada esfera tem uma cor inicial ao lado de seu raio. A função "init" classe Sphere ' se parece com isso :
def __ init__ (self):
self.r = 5
Assim, cada objeto Sphere tem um raio padrão de 5 . Bola classe pode substituir esse método , definindo-o em sua própria classe . Assim o método "init" da bola pode ter esta aparência :
def __ init__ (self):
self.color = red
Então agora cor padrão da bola será vermelho .
Substituindo e Utilização de um método base
Mas porque "init" da Bola substitui a classe base "init ", a classe base "init" nunca executado. Isto é necessário . Em Python, o método de substituição pode chamar o método que está substituindo a par de sua execução :
def __ init__ (self):
Sphere.__init__ (auto )
auto . color = red
isso garante que a inicialização de base ocorre , a bola tem um raio e uma cor.