Questão 2159936

Tecnologia da Informação · 2019

Questão

ID 2159936

Disciplina: Tecnologia da Informação

Assunto: Princípios SOLID

Ano: 2019 Banca: SUGEP UFRPE - Superintendência de Gestão e Desenvolvimento de Pessoas da UFRPE Órgão: Universidade Federal Rural de Pernambuco


Herança de classes em orientação a objetos necessita de alguns cuidados por parte dos programadores, pois pode gerar ambiguidade quando uma classe herda métodos e atributos de mais de uma classe. Python resolve essa ambiguidade aplicando o algoritmo “MRO” (“Method Resolution Order” – Ordem de Resolução de Método, em tradução livre). A chamada do método “my-func” através da instância “d” da classe “D”, utilizando o algoritmo MRO, resultará no acesso desse método (nas diversas classes) na seguinte ordem:

class A(object):

def my_func(self):

print("Calling this from A")

class B(A):

pass

class C(A):

def my_func(self):

print("Calling this from C")

class D(B, C):

pass

d = D()

d.my_func()

Fonte: https://arvimal.blog/2016/05/30/method-resolution-order-object-oriented-programming/
Alternativas da questão 2159936
Pular para o conteúdo principal