Conteúdo do Curso
Programação Orientada a Objetos em Python Avançado
Programação Orientada a Objetos em Python Avançado
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 (,
):
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()
No entanto, a herança múltipla tem uma ordem. A prioridade da busca de atributos/métodos é da esquerda para a direita:
class First: attribute = "First" class Second: attribute = "Second" class Child(Second, First): # Order starts from the `Second` pass instance = Child() print(instance.attribute)
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.
Obrigado pelo seu feedback!