Advertisement
Dmitry_Dronov

mro

Apr 26th, 2016
294
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.26 KB | None | 0 0
  1. # ПОРЯДОК МНОЖЕСТВЕННОГО НАСЛЕДОВАНИЯ КЛАССОВ
  2. #
  3. class D: pass # если класс явно не от кого не наследуется - то класс наследуется от типа класса object
  4. class E: pass
  5. class B(D, E): pass # класс B наследует свойства от классов D и E
  6. class C: pass
  7. class A(B, C): pass # класс A наследует свойства от классов B и C
  8. #
  9. # чтобы определить порядок наследования - нужно пользоваться методом mro() - method resolution order
  10. print(A.mro()) # [<class '__main__.A'>, <class '__main__.B'>, <class '__main__.D'>, <class '__main__.E'>, <class '__main__.C'>, <class 'object'>]
  11. # порядок наследования гарантирует:
  12. # 1) что объект родитель будет идти перед объектом наследником
  13. # 2) смежные объекты родители будут идти в той последовательности в которой они записаны в скобках. Например после А гарантированно вначале будет идти класс B а затем класс С
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement