日期:2023-06-21 18:55:37 来源:博客园
编写类时,并非总是要从空白开始。如果要编写的类时另一个现成类的特殊版本,可使用继承。一个类继承另一个类时,它将自动获得另一个类的所有属性和方法
原有的类称为父类,而新类被称为子类。子类继承了其父类的所有属性和方法,同时还可以定义自己的属性和方法。
继承语法格式:
(资料图片)
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__方法,当子类调用该方法时,是调用子类中的该方法,而不是父类中的该方法。
标签:
上一篇: “小茶果”蒸出“大融合”,港澳台同胞在珠海庆端午_今日要闻
下一篇: 最后一页
【全球热闻】看点:【python基础】类-继承
“小茶果”蒸出“大融合”,港澳台同胞在珠海庆端午_今日要闻
广西将重大气象灾害(暴雨)应急响应提升为Ⅲ级 洪水气象风险高
当前滚动:万家人工智能混合年内涨75%
当Z世代青年遇上传统戏曲 “戏曲+N”玩转潮流致敬经典|天天报资讯
天天观速讯丨国联证券:维持美丽田园医疗健康买入评级 目标价33.8港元
世界观焦点:醉沙场战旗扬:各国领导人在联大“表达诉求”
全新埃尔法官图发布,在日售价折合人民币24万起!
世界新动态:楼市大招的背后
环球热讯:大理市文联举办2023年“品读端午诗词 感悟家国情怀”诗词诵读分享会
国家外汇管理局局长潘功胜会见淡马锡董事长林文兴
环球观察:北京5所学校授牌“小十月文学戏剧基地校”中新社北京分社
港股房地产股延续跌势 正荣地产跌超8%
世界球精选!2023年退休人员医保何时划入个人账户?如何选择补缴及申请返还?
董春山_关于董春山的简介|天天新视野
深圳美容院加盟品牌_深圳美容院|精选
快看点丨十里春风不如你的上一句和下一句_十里春风不如你 的全诗是什么
快乐向前冲 综艺节目 中国(陈永贵 综艺节目快乐向前冲选手)
北京再发高温预警 晴晒闷热将持续五天 环球热资讯
上海多家银行调整首套房贷款利率至4.55%6月21日起执行 今日要闻
全球热门:让球什么意思 让球
天天亮点!天天赢彩票平台_天天赢
上海暴雨迪士尼游客雨中“渡劫”,官方客服回应暴雨天能否退票,网友吵翻
“青春之歌”夏日歌会举行 每日简讯
保险预定利率什么意思?有什么作用?