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