Índice
A herança é uma das formas de promover não ter que trabalhar muito, ajudando-nos a evitar ter que codificar o mesmo código várias vezes, talvez possamos pensar que podemos fazer isso com funções, mas o que acontece quando temos uma classe e queremos para fazer um muito semelhante que muda apenas um ou dois aspectos, é aí que entra em jogo.Herança nada mais é do que passar os atributos e métodos de uma classe superior e abstrata para outra, quer queiramos torná-la mais específica ou torná-la muito mais abstrata, ampliando seu espectro de ação.
Imaginemos por um momento que precisamos fazer uma classe retângulo, isso é algo bastante específico já que retângulo é uma forma geométrica definida, mas apesar de ter características em comum com outras figuras, e se em vez de fazermos uma classe específica fizéssemos uma A classe Figures, que inclui os aspectos e atributos comuns e, em seguida, nossa classe retângulo herda esses atributos e, então, só temos que adicionar os métodos e atributos específicos.
Uma classe nada mais é do que uma coleção de atributos e métodos definidos abstratamente, sobre os quais podemos construir objetos. Podemos ver um exemplo na vida real, se virmos um pássaro pela janela, devemos saber que ele pertence à classe pássaros, mas se esse pássaro for uma águia, então dizemos que é uma da subclasse águia, que por sua vez, pertence à classe de pássaros e, portanto, podemos continuar especificando de um nível abstrato superior (Pássaro) a um nível mais específico (águia), e os atributos da águia são o que a definem e diferenciam de outras aves.
Vamos ver um pequeno exemplo de como construir nossas classes em Python.
Como podemos ver, definimos uma classe de pessoa e seu atributo principal é o nome, criamos vários métodos para atribuir e consultar o nome e um método de saudação, que nos permite fazer o objeto dizer sua identificação.
Vamos ver como tudo isso funcionaria no contexto de um programa simples.
PROLONGAR
Se olharmos para a atribuição, foo = Person (), o que estamos realmente fazendo é criar um objeto do tipo Person (), então agora foo terá os atributos e acesso aos métodos da classe Person.Então vemos que chamamos o método setName () para dois objetos diferentes, aqui já estamos especificando cada um com atributos diferentes, mas que pertencem à mesma classe, algo semelhante ao exemplo da águia que vimos alguns parágrafos atrás.
No final, ao chamar o método greet (), cada objeto demonstra sua diferença apesar de partir da mesma origem abstrata. Dessa forma, não precisamos escrever um código de definição para cada objeto, mas simplesmente reutilizar o código abstrato da classe Person.
Com isso terminamos este tutorial, é uma teoria e tanto que devemos continuar praticando e aprofundando, pois esta é a base do que é a programação orientada a objetos que nos permitirá tirar proveito de muitas das funcionalidades do Pitão.