Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Classes Base e Subclasses | Herança
Programação Orientada a Objetos em Python

bookClasses Base e Subclasses

Deslize para mostrar o menu

A implementação de herança em Python é feita por meio de classes base (pais) e subclasses (filhos).

Uma classe base define propriedades e comportamentos gerais, enquanto uma subclasse herda essas características e pode ampliá-las com suas próprias.

123456789101112131415161718192021222324252627282930
class Employee: def __init__(self, name, salary): self.name = name self.salary = salary def get_info(self): return f"{self.name}, {self.salary}" class Manager(Employee): def __init__(self, name, salary, department): super().__init__(name, salary) self.department = department def get_info(self): return f"{super().get_info()}, {self.department}" class Developer(Employee): def __init__(self, name, salary, language): super().__init__(name, salary) self.language = language def get_info(self): return f"{super().get_info()}, {self.language}" print(Employee("Anna", 2000).get_info()) print(Manager("Mark", 3500, "IT").get_info()) print(Developer("Lena", 3000, "Python").get_info())
copy

Employee é a classe base. Ela armazena os dados que todos os funcionários compartilham. Manager e Developer são subclasses de Employee. Elas automaticamente herdam tudo da classe base, portanto não precisam reescrever o mesmo código.

A chamada super() executa o construtor da classe base, assim name e salary são definidos corretamente. Cada subclasse então adiciona seus próprios dados:

  • Manager adiciona department
  • Developer adiciona language

Ambas as subclasses também sobrescrevem get_info(). Elas reutilizam a versão da classe base com super().get_info() e depois estendem o resultado com seus próprios detalhes.

Note
Nota

Isso faz da classe base a fundação, e da subclasse a implementação especializada que adiciona flexibilidade.

question mark

Qual é o papel de uma subclasse na herança em Python?

Selecione a resposta correta

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 2

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Seção 2. Capítulo 2
some-alt