Как Python находит свойства и методы
Теперь мы рассмотрим, как Python работает с унаследованными методами.
Посмотрите на пример в редакторе. Давайте проанализируем это:
- есть класс с именем
Super
, который определяет свой собственный конструктор, используемый для назначения свойства объекта, с именемname
; - класс также определяет метод
__str__()
, который позволяет классу представлять свою идентичность в виде открытого текста; - затем класс используется в качестве основы для создания подкласса с именем
Sub
. КлассSub
определяет свой собственный конструктор, который вызывает его из суперкласса. Обратите внимание, как мы это сделали:Super.__init__(self, name)
; - мы явно назвали суперкласс и указали на метод для вызова
__init__()
, предоставив все необходимые аргументы; - мы создали экземпляр одного объекта класса
Sub
и распечатали его.
Код выводит:
My name is Andy.
output
Примечание. Поскольку в классе Sub
нет метода __str__()
, печатная строка должна создаваться в классе Super
. Это означает, что метод __str__()
был унаследован классом Sub
.