Полиморфные методы
Чтобы эффективно проектировать классы, важно понимать, как наследование и полиморфизм работают вместе.
В этом упражнении представлены три класса — один родительский и два дочерних, — каждый из которых имеет метод talk(). Проанализируйте следующий код:
class Parent:
def talk(self):
print("Parent talking!")
class Child(Parent):
def talk(self):
print("Child talking!")
class TalkativeChild(Parent):
def talk(self):
print("TalkativeChild talking!")
Parent.talk(self)
p, c, tc = Parent(), Child(), TalkativeChild()
for obj in (p, c, tc):
obj.talk()
Какой результат выведет приведённый выше код?
| 1. | 2. |
|
|
| 3. | 4. |
|
|
Вы должны суметь выполнить это упражнение, просто читая код — без запуска в консоли!
Это упражнение является частью курса
Объектно-ориентированное программирование на Python
Практическое интерактивное упражнение
Превратите теорию в практику с помощью одного из наших интерактивных упражнений
Начать упражнение