Python para Desenvolvedores

2ª edição, revisada e ampliada

Capítulo 19: Herança simples


Herança é um mecanismo que a orientação a objeto provê, com objetivo de facilitar o reaproveitamento de código. A ideia é que as classes sejam construídas formando uma hierarquia.

Exemplo de herança

A nova classe pode implementar novos métodos e atributos e herdar métodos e atributos da classe antiga (que também pode ter herdado de classes anteriores), porém estes métodos e atributos podem substituídos na nova classe.

A forma comum de herança é chamada de herança simples, na qual a nova classe é derivada de apenas uma classe já existente, porém é possível criar várias classes derivadas, criando uma hierarquia de classes.

Para localizar os métodos e atributos, a hierarquia é seguida de baixo para cima, de forma similar a busca nos namespaces local e global.

Resolução de método

Exemplo de herança simples:

In [1]:
class Pendrive(object):

    def __init__(self, tamanho, interface='2.0'):

        self.tamanho = tamanho
        self.interface = interface


class MP3Player(Pendrive):

    def __init__(self, tamanho, interface='2.0', turner=False):

        self.turner = turner
        Pendrive.__init__(self, tamanho, interface)


mp3 = MP3Player(1024)

print '%s\n%s\n%s' % (mp3.tamanho, mp3.interface, mp3.turner)
1024
2.0
False

A classe MP3Player herda de Pendrive o tamanho e a interface.

In [1]:
 
Out[1]: