1.复写及示例
子类继承父类的成员属性和成员方法后,如果对其不满意,可以进行复写。
即:在子类中重新定义同名的属性或方法即可。
示例
class Phone:
IMEI = None # 序列号
producer = "Wendy" # 厂商
def call_by_5g(self):
print("5g通话")
# 定义子类,复写父类成员
class MyPhone(Phone):
producer = "ming" # 复写父类的成员属性
def call_by_5g(self):
print("CPU单核模式开启,确保省电")
print("使用5g网络通话")
print("关闭CPU单核模式,确保性能")
phone = MyPhone()
phone.call_by_5g()
print(phone.producer)
# CPU单核模式开启,确保省电
# 使用5g网络通话
# 关闭CPU单核模式,确保性能
# ming
2.调用父类同名成员
一旦复写父类成员,那么类对象调用成员的时候,就会调用复写后的新成员。
如果需要被复写的父类成员,需要特殊的调用方式:
1)方式一
·调用父类成员
使用成员变量:父类名.成员变量
使用成员方法:父类名.成员方法(self)
示例
class Phone:
IMEI = None # 序列号
producer = "Wendy" # 厂商
def call_by_5g(self):
print("5g通话")
# 定义子类,复写父类成员
class MyPhone(Phone):
producer = "ming" # 复写父类的成员属性
def call_by_5g(self):
print("CPU单核模式开启,确保省电")
# 方式一:通过父类名去调用
print(f"父类的厂商是:{Phone.producer}")
Phone.call_by_5g(self)
print("使用5g网络通话")
print("关闭CPU单核模式,确保性能")
phone = MyPhone()
phone.call_by_5g()
print(phone.producer)
# CPU单核模式开启,确保省电
# 父类的厂商是:Wendy
# 5g通话
# 使用5g网络通话
# 关闭CPU单核模式,确保性能
# ming
2)方式二
·使用super()调用父类成员
使用成员变量:super().成员变量
使用成员方法:super().成员方法()
# 方式二:使用super()调用父类成员
print(f"父类的厂商是:{super().producer}")
super().call_by_5g()
完结 🎉 继续更新 加个关注收藏一下叭~