python继承类中如何重写?
python继承类中如何重写?
本文教程操作环境:windows7系统、Python3.9.1,DELLG3电脑。
1、重写的类别
(1)重写和父类的方法名称一样。但是在子类里面,重新实现。
(2)保留父类的做法,在它的基础上再扩展其它的内容。(扩展方式:super())
super()的2种表达:
super().方法(参数列表)
super(子类名,self).方法(参数列表)
2、重写实例
Animal的子类Cat继承了父类的属性和方法,但是我们猫类Cat有自己的叫声'喵喵',这时我们可以对父类的Call()方法进行重构。如下:
classCat(Animal):
def__init__(self,name,age,sex):
super(Cat,self).__init__(name,age)
self.sex=sex
defcall(self):
print(self.name,'会“喵喵”叫')
if__name__=='__main__':
c=Cat('喵喵',2,'男')
c.call()#输出:喵喵会“喵喵”叫
类方法的调用顺序,当我们在子类中重构父类的方法后,Cat子类的实例先会在自己的类Cat中查找该方法,当找不到该方法时才会去父类Animal中查找对应的方法。
为了方法的快速调用,我们会从父类那里继承方法,放在子类的使用上。但这样也会产生一种问题,子类全部显示的是父类的类别,而没有自身特性进行区分。这时候方法的重写就很有必要了。
以上就是python继承类中重写的方法,在遇到子类不能区分的问题时,大家就可以通过重写方法来辨别啦。学会后快试试重写的使用吧。更多Python学习教程请关注IT培训机构:千锋教育。
相关推荐HOT
更多>>为什么Python适合作为第一个学习的编程语言?
Python语言设计的初衷就是容易上手。作为一门基础语言,融会贯通后,有助于学习其他语言,例如PHP,Perl,Ruby等。可以快速架起抽象的程序世界...详情>>
2023-11-08 17:48:07Python 网络编程
python提供了两个级别访问的网络服务:低级别的网络服务支持基本的Socket,它提供了标准的BSDSocketsAPI,可以访问底层操作系统Socket接口的全...详情>>
2023-11-08 16:50:33pythonOrderedDict在python字典的实现
OrderedDict在python字典的实现1、OrderedDict的popitem方法这个类型在添加键的时候会保持顺序,因此键的迭代次序总是一致的。OrderedDict的pop...详情>>
2023-11-08 15:37:46python日志库的模块化方法
python日志库的模块化方法1、模块化方法日志库采用模块化方法,并提供几类组件:记录器(loggers),处理器(handlers),过滤器(filters)和格式化...详情>>
2023-11-08 14:45:39