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 (,
):
123456789101112131415161718192021class 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:
1234567891011class 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!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 2.78
Herança Múltipla
Deslize para mostrar o menu
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 (,
):
123456789101112131415161718192021class 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:
1234567891011class 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!