Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Herança Múltipla | Herança
Programação Orientada a Objetos em Python Avançado
course content

Conteúdo do Curso

Programação Orientada a Objetos em Python Avançado

Programação Orientada a Objetos em Python Avançado

1. Conceitos de POO
2. Herança
3. Encapsulamento
4. Polimorfismo e Abstração
5. Métodos Mágicos

book
Herança Múltipla

Uma classe pode ser subclasse de várias outras classes (herdar de múltiplas outras classes).

Para herdar de múltiplas classes, você pode escrever os nomes das classes separados por vírgulas (,):

123456789101112131415161718192021
class First: first_attribute = "First" def first_method(self): print("The first_method from the First class") class Second: second_attribute = "Second" def second_method(self): print("The second_method from the Second class") class Child(First, Second): pass instance = Child() print(instance.first_attribute) print(instance.second_attribute) instance.first_method() instance.second_method()
copy

No entanto, a herança múltipla tem uma ordem. A prioridade da busca de atributos/métodos é da esquerda para a direita:

1234567891011
class First: attribute = "First" class Second: attribute = "Second" class Child(Second, First): # Order starts from the `Second` pass instance = Child() print(instance.attribute)
copy

Este exemplo demonstra como a ordem de herança afeta a resolução de atributos em casos onde o mesmo atributo é definido em várias classes pai.

Como herdar uma classe de Parent1 e Parent2?

Como herdar uma classe de Parent1 e Parent2?

Selecione a resposta correta

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 3
We're sorry to hear that something went wrong. What happened?
some-alt