Вот что я имею в виду. Рассмотрим следующий фрагмент.Парадигма ООП в Python
class A(object):
def check(self):
super(A, self).check()
print "inside a"
class B(object):
def check(self):
print "inside b"
class C(A, B):
pass
c = C()
c.setup()
Теперь это дает выход,
inside b
inside a
Проходя через этот PDB я вижу, что по достижении A.setup(), B.setup() вызывается. Однако вызов от A относится к методу проверки его суперкласса; поскольку он не существует, вызов переходит из этой точки в B.check().
- Не могли бы вы объяснить или указать мне документ, в котором объясняется, как это работает внутри страны? Я не мог найти.
- Может ли кто-нибудь показать мне аналогичную реализацию в C++/Java? Я думаю, что сравнение этого с другими языками поможет мне лучше понять проблему.
Большое спасибо.
Для чего это стоит, у Guido есть блог, в котором он рассказывает нам немного истории python. В недавней статье он рассказывает о Постановлении о разрешении метода: http://python-history.blogspot.com/2010/06/method-resolution-order.html –