Introdução ao Python/Herança e polimorfismo
Deitel, em "Programando em Java", diz que "quando utilizamos herança para criar uma classe a partir da classe existente, a nova classe herda os atributos e comportamentos dessa classe existente, podendo adicionar atributos e comportamentos para solucionar nossas necessidades".
O polimorfismo condiz com a reutilização de código: é fato que ocorrem funções semelhantes em várias partes do software; então definimos estas funções em uma biblioteca, e todas as outras funções que dela precisarem poderão chamá-la sem a necessidade de reescrevê-la.[1]
Em Python, ao contrário das outras linguagens, todo objeto é 100% dinâmico, onde você pode definir propriedades adicionais a ele mesmo que não existam na classe originalmente, podemos ver isso no exemplo abaixo:
>>> class Pessoa:
... def __init__(self, nome ='', idade=0):
... self.nome = nome
... self.idade = idade
... def getIdade(self):
... return self.idade
...
>>> class PessoaCPF(Pessoa):
... def __init__(self, CPF, nome='', idade=0):
... Pessoa.__init__(self, nome, idade)
... self.CPF = CPF
...
>>> a = Pessoa('Leonardo', 22)
>>> b = PessoaCPF('122.333.332-1', nome=a.nome, idade=a.idade)
>>> print a.nome
Leonardo
>>> print a.idade
22
>>> print b.CPFhttp://pt.wikibooks.org/wiki/Python/Conceitos_b%C3%A1sicos/Heran%C3%A7a_e_polimorfismo
122.333.332-1
Referências
|