设计角度讲
定义
父类的同一种动作或者行为,在不同的子类上有不同的实现。
作用
在继承的基础上,体现类型的个性化(一个行为有不同的实现)。
增强程序扩展性,体现开闭原则。
语法角度讲
重写
子类实现了父类中相同的方法(方法名、参数)。
在调用该方法时,实际执行的是子类的方法。
快捷键
Ctrl + O
示例:
class Parent:
def run(self):
print("i can run")
class Child(Parent):
# 子类的方法和父类相同,会覆盖继承来自父类的run方法
def run(self):
print("i can fly")
p = Parent()
c = Child()
p.run() # i can run
c.run() # i can fly
内置可重写函数
Python中,以双下划线开头、双下划线结尾的是系统定义的成员。我们可以在自定义类中进行重写,从而改变其行为。
转换字符串
__str__函数:将对象转换为字符串(对人友好的)
__repr__函数:将对象转换为字符串(解释器可识别的)
运算符重载
定义:让自定义的类生成的对象(实例)能够使用运算符进行操作。
算数运算符
反向算数运算符重载
复合运算符重载
比较运算重载