看点:【python基础】类-继承 焦点快看
时间:2023-06-24 04:07:14
编写类时,并非总是要从空白开始。如果要编写的类时另一个现成类的特殊版本,可使用继承。一个类继承另一个类时,它将自动获得另一个类的所有属性和方法
原有的类称为父类,而新类被称为子类。子类继承了其父类的所有属性和方法,同时还可以定义自己的属性和方法。
继承语法格式:
(资料图片)
class 子类名(父类名):
1.子类的__init__方法创建子类的实例时,Python首先需要完成的任务是给父类的所有属性赋值。为此,子类的__init__方法在初始化子类属性时,需要先将父类的所有属性赋值
子类中给父类属性赋值的语法格式:
super().__init__(实参变量1,实参变量2,,,,,实参变量n)
比如动物猫Cat这个子类,继承动物Animal这个父类,编写程序如下所示:
注意:
1.创建子类时,父类必须包含在当前文件中,且位于子类前面,可以通过import导入到当前文件。
2.super是一个特殊的函数,帮助Python将父类和子类关联起来。这行代码让Python调用Cat的父类的__init__方法,让Cat类的实例cat包含父类的所有属性。
我们通过子类将name传给父类,然后通过调用父类的eat方法,实现了子类实例对父类方法的调用,验证了此时子类继承了父类的所有属性和方法
2.给子类定义属性和方法子类继承父类后,可添加区分子类和父类的属性和方法。
比如我们给Cat类添加一个猫特有的属性捉老鼠的数量num,给Animal类添加一个动物共有的属性年龄age,编写程序如下所示:
对于Cat类的特殊化程度没有任何限制。可以根据所需的准确程度添加任意数量的属性和方法。如果一个属性或者方法是任何动物都有的,而不是动物猫特有的,我们就往动物Animal类中添加,是动物猫特有的我们就往猫Cat类中添加。这样动物Animal类有动物的通用属性和方法,猫Cat类有特有的属性和方法,我们只需根据需要调用即可
注意:
子类可以调用父类的属性和方法,但是父类不可调用子类的属性和方法
会提示父类没有子类的方法等错误。
3.重写父类的方法对于父类的方法,只要它不符合子类的方法逻辑,都可对其进行重写。为此,可在子类定义一个这样的方法,即它与要重写的父类方法同名。这样Python在用子类调用这个方法的时候,就不会去调用父类的同名方法,而是去调用子类的同名方法。
编写程序如下所示:
我们看到我们在子类中重新编写了__str__方法,当子类调用该方法时,是调用子类中的该方法,而不是父类中的该方法。
相关稿件
即时看!台基股份(300046.SZ):尚无车规级IGBT产品-微动态
兰州市公安局交通警察支队副支队长张伟走进12345热线 接听受理群众诉求-头条-今日观点
信用卡停息挂账合法吗?哪些情况下可以协商停息挂账?-当前最新 资讯
环球微头条丨《消失的她》一骑绝尘 成影史端午档国产片票房冠军
我们的节日·端午丨北塘街道滨海湖社区开展“党建引领促共建,艾香端午邻里和”主题活动-每日报道
《泰坦尼克号》电影导演卡梅隆:潜艇事故与百年前船难相似,警告被忽视-热点
北京的金山上光芒照四方什么歌(北京的金山上光芒照四方歌词歌曲)
焦点资讯:天元小贷(831668):拟10派1元,共派送现金1500.00万元
当前热议!正荣地产出售南京江北新区地块项目公司等股权 代价7500万元
比亚迪元PLUS进入阿联酋 开启中东乘用车市场全新篇章 当前看点
海南碧城黎客国际酒店居住环境分析,想要买碧城黎客国际酒店性价比高的房子!
【有事找紫牛】有人私自倾倒工业废料?记者调查:系营养土半成品 ,堆场将取缔 资讯推荐