python3类的继承
参考:https://blog.csdn.net/zhouzhiwengang/article/details/119677637
1、继承
python支持类继承,在子类类名后的圆括号()中声明继承的父类,如果没有继承,则可以不加()。
支持多继承,直接写入多个类名,用,分隔。
如果没有指定基类,python的类会默认继承object类。object是所有python类的基类,它提供了一些常见方法(如__str__)的实现。
class Person:
def __init__(self):
self.age = 15
class Stu(Person):
def __init__(self):
pass
2、子类调用父类
(1)在子类中,如果没有显示声明,那么可以通过self直接调用父类的类变量和不涉及父类对象变量的方法。否则,执行时,会报异常。
(2)在子类中,声明父类.__init__(self)
,可以通过self调用父类的对象变量和涉及父类对象变量的方法
(3)super
super(父类, self).__init__()
- 等价于
父类.__init__(self)
super().父类方法()
- 调用父类中的方法
- self会先在当前类中查找调用的方法,如果没有找到才会查找父类。而super()是直接调用父类方法
- super()并不能调用父类的对象变量,但是可以调用父类的类变量
3、覆写
如果在子类中定义和父类中相同的方法名,则意味着进行了覆写,并不关心两者的参数列表是否相同。
此时,可以用self调用子类中的重写的方法,而用super()调用父类中的方法。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战