位置: IT常识 - 正文

Python中类的继承是什么(python类的继承与多态)

编辑:rootadmin

推荐整理分享Python中类的继承是什么(python类的继承与多态),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python中类的继承通过什么表达,python中类的继承只支持单继承不支持多继承,if语句python,python中class,python中类的继承只支持单继承不支持多继承,python中类的继承只支持单继承不支持多继承,python中类的继承只支持单继承不支持多继承,python中类的继承有什么好处,内容如对您有帮助,希望把文章链接给更多的朋友!

一、继承的概念

在现实生活中,继承一般指的是子女继承父辈的财产,在程序中,继承描述的是事物之间的所属关系,例如猫和狗都属于动物,程序中便可以描述为猫和狗继承自动物;同理,波斯猫和巴厘猫都继承自猫,而沙皮狗和斑点狗都继承足够,如下如所示:

二、继承的示例

classCat(object):def__init__(self,name,color="白色"):self.name=nameself.color=colordefrun(self):print("%s:在跑"%self.name)classBosi(Cat):defsetNewName(self,newName):self.name=newNamedefeat(self):print("%s:在吃"%self.name)bs=Bosi("波斯猫")print("bs的名字是:%s,颜色是:%s"%(bs.name,bs.color))bs.eat()bs.setNewName("汤姆猫")bs.run()

运行结果为:

bs的名字是:波斯猫,颜色是:白色波斯猫:在吃汤姆猫:在跑

相关推荐:《Python视频教程》

说明:

1.虽然子类没有定义__init__()方法,但是父类有。所以在子类集成父类的时候这个方法就被继承了,所以只要创建Bosi的对象,就默认执行了那个继承过来的__init__()方法。

2.子类在继承的时候,在定义类时,小括号()中为父类的名字。

3.父类的所有非私有的属性、方法、会被继承给子类。

Python中类的继承是什么(python类的继承与多态)

注意:

1.私有的属性,不能通过对象直接访问,但是可以通过方法访问。

2.私有的方法,不能通过对象直接访问。

3.私有的属性、方法,不会被子类继承,也不能被访问。

4.一般情况下,私有的属性、方法都是不对外公布的,往往用来做内部的事情,起到安全的作用。

classAnimal(object):def__init__(self,name="动物",color="白色"):self.__name=nameself.color=colordef__test1(self):print(self.__name)print(self.color)deftest2(self):print(self.__name)print(self.color)classDog(Animal):defdogTest1(self):#不能访问父类的私有属性:AttributeError:'Animal'objecthasnoattribute'__name'#print(self.__name)print(self.color)defdogTest2(self):#self.__test1()self.test2()A=Animal()#print(A.__name)print(A.color)#不能访问父类的私有方法:AttributeError:'Animal'objecthasnoattribute'__test1'#A.__test1()A.test2()print("-----------------分割线-----------------")D=Dog(name="阿黄",color="黄色")D.dogTest1()D.dogTest2()

运行结果为:

白色动物白色-----------------分割线-----------------黄色阿黄黄色

三、多继承

从图中能够看出,所谓多继承,即子类有多个父类,并且具有它们的特征。

Python中多继承的格式如下:

classA:defprintA(self):print("---A---")classB:defprintB(self):print("---B---")#定义一个子类继承A,BclassC(A,B):defprintC(self):print("---C---")obj_C=C()obj_C.printA()obj_C.printB()

运行结果为:

---A------B---

说明

1.python中是可以多继承的。

2.父类中的方法、属性,子类会继承。

3.如果多个父类中有同一个方法,谁写在前面就调用谁的方法。

classA:defprintA(self):print("---A---")classB:defprintB(self):print("---B---")#定义一个子类继承A,BclassC(A,B):defprintC(self):print("---C---")obj_C=C()obj_C.printA()obj_C.printB()#可以查看一个雷的对象搜索方法时的先后顺序print(C.__mro__)---A------B---(<class'__main__.C'>,<class'__main__.A'>,<class'__main__.B'>,<class'object'>)
本文链接地址:https://www.jiuchutong.com/zhishi/310163.html 转载请保留说明!

上一篇:为WordPress文章添加阅读进度条 Worth The Read(wordpress编辑文章)

下一篇:Windows批处理实现邮件远程控制电脑(第三方批处理)(window批处理文件)

  • 红米k50至尊版怎么设置24小时(红米k50至尊版怎么录屏)

  • 海星模拟器下载的游戏在什么地方(海星模拟器下载的在哪个文件夹)

  • 将文件从服务器向用户方向传输是(将文件从服务器传输到客户机的过程)

  • 手机电池老化的表现(手机电池老化的五大症状)

  • 抖音里怎么把喜欢的视频批量删掉(抖音里怎么把喜欢的视频删除掉)

  • 电脑显示器满屏条纹(电脑显示器满屏怎么调)

  • 朋友的新动态有访问记录吗(朋友新动态是怎么回事)

  • 苹果基带有必要修吗(苹果基带贵不贵)

  • 加湿器算大功率电器吗(加湿器额定功率大好还是小好)

  • uc下载的视频无法播放(uc下载的视频无法查看)

  • i58500核显相当于什么显卡(i58500核显支持2k吗)

  • excel表格如何查找图片(excel表格如何查找想要的内容)

  • 淘宝怎么一分钱买东西(淘宝一分钱的付款怎么弄的)

  • oppoa73的呼吸灯怎么设置(oppoa32手机呼吸灯)

  • 抖音会留下访客记录吗(抖音留下访客记录后不让他看记录会消失吗)

  • 小米8怎么拍流光(小米怎么拍流光)

  • 滴滴早上几点可以打车(滴滴早上几点可以下车)

  • 1more耳机是什么档次的(1more耳机使用说明)

  • iphonexr有指纹识别吗(苹果xr有指纹解锁)

  • 小米手机的通话设置在哪里(小米手机的通话记录不见了)

  • 花呗可以组合支付吗(花呗组合支付)

  • MOM.exe是什么进程?是MOM.exe病毒吗?为什么运行?(mode exe)

  • dedecms织梦网站后台免登录方法便于采集(织梦商城)

  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设 电脑维修 湖南楚通运网络