Você está aqui: Python ::: Dicas & Truques ::: Programação Orientada a Objetos |
Como usar herança em Python - Programação Orientada a Objetos em PythonQuantidade de visualizações: 1053 vezes |
Herança é uma dos três principios fundamentais da programação orientada a objetos porque ela permite a criação de hierarquia nos objetos que compõem o sistema. Em Python, uma classe que tem seus dados e métodos herdados por outra é chamada de classe base ou super classe e a classe que herda tais dados é chamada de classe derivada ou sub-classe. O que um aluno, um professor e um funcionário possuem em comum? Todos eles são pessoas e, portanto, compartilham alguns dados comuns. Todos têm nome, idade, endereço, etc. E, o que diferencia um aluno de uma outra pessoa qualquer? Um aluno possui uma matrícula; Um funcionário possui um código de funcionário, data de admissão, salário, etc; Um professor possui um código de professor e informações relacionadas à sua formação. É aqui que a herança se torna uma ferramenta de grande utilidade. Podemos criar uma classe Pessoa, que possui todos os atributos e métodos comuns a todas as pessoas e herdar estes atributos e métodos em classes mais específicas, ou seja, a herança parte do geral para o mais específico. Comece criando uma classe Pessoa como mostrado no código a seguir: class Pessoa: # construtor da classe def __init__(self, nome, idade): ...... Restante do código disponível na Área de Apoiadores do site Esta classe possui os atributos nome e idade. Estes atributos são comuns a todas as pessoas. Veja agora como podemos criar uma classe Aluno que herda estes atributos da classe Pessoa e inclui seu próprio atributo, a saber, seu número de matrícula. Eis o código: class Aluno(Pessoa): def __init__(self, nome, idade, matricula): ...... Restante do código disponível na Área de Apoiadores do site Observe que, em Python, a herança é indicada pela passagem do nome da super classe entre parênteses na definição da subclasse. A classe Aluno agora possui três atributos: nome, idade e matricula. Veja uma aplicação demonstrando este relacionamento: class Pessoa: # construtor da classe def __init__(self, nome, idade): self.nome = nome self.idade = idade class Aluno(Pessoa): def __init__(self, nome, idade, matricula): super().__init__(nome, matricula) self.matricula = matricula def main(): nome = "Osmar J. Silva" ...... Restante do código disponível na Área de Apoiadores do site A herança nos fornece um grande benefício. Ao concentrarmos características comuns em uma classe e derivar as classes mais específicas a partir desta, nós estamos preparados para a adição de novas funcionalidades ao sistema. Se mais adiante uma nova propriedade comum tiver que ser adicionada, não precisaremos efetuar alterações em todas as classes. Basta alterar a superclasse e pronto. As classes derivadas serão automaticamente atualizadas. |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
Java - Exercícios Resolvidos de Java - Como converter de binário para decimal em Java usando o laço for |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |