子类继承父类的成员属性和成员方法后,如果对其“不满意”,可以进行复写。即:在子类中重新定义同名的属性或方法即可。
一旦复写父类成员,那么类对象调用成员的时候,就会调用复写后的新成员
如果需要使用被复写的父类的成员,需要特殊的调用方式:
方式1:
调用父类成员
使用成员变量:父类名.成员变量
使用成员方法:父类名.成员方法(self)
方式2:
使用super()调用父类成员
使用成员变量:super().成员变量
使用成员方法:super().成员方法()
只能在子类内调用父类的同名成员。
子类的类对象直接调用会调用子类复写的成员
总结:
class Phone:imei=Noneprducer="ITCASE"def cal_by_5g(self):print("使用5g网络进行通话")
#定义子类,复写父类成员
class MyPhone(Phone):prducer = "黑马"def cal_by_5g(self):print("开启cpu单核模式,确保通话时候省电")#方式一print("父类的厂商是:",Phone.prducer)Phone.cal_by_5g(self)#方式二print("父类的厂商是:",super().prducer)super().cal_by_5g()print("关闭cpu单核模式")
phone=MyPhone()
phone.cal_by_5g()
print(phone.prducer)
#在子类中调用父类成员