Python 面向对象编程:方法重写与多态性深入解析
1. 方法重写(Overriding Methods)
在 Python 面向对象编程中,子类可以继承父类的方法。但如果对继承的方法行为不满意,可以在子类中重写该方法,提供新的实现。
以 ChoiceQuestion 类的 display 方法为例,它重写了父类的 display 方法,目的是显示答案选项。这个方法扩展了父类版本的功能,既执行了父类方法的操作(显示问题文本),又做了额外的工作(显示答案选项)。
class ChoiceQuestion(Question):
...
def display(self):
# 显示问题文本
super().display()
# 显示答案选项
for i in range(len(self._choices)):
choiceNumber = i + 1
print("%d: %s" % (choiceNumber, self._choices[i]))
在实现 display 方法时,不能直接访问父类的私有文本变量,需要使用 super 函数调用父类的 display 方法。如果使用 self 引用而不是 super 函
超级会员免费看
订阅专栏 解锁全文
10

被折叠的 条评论
为什么被折叠?



