首页IT科技python类的继承机制(Python中类的继承是什么)

python类的继承机制(Python中类的继承是什么)

时间2025-06-20 22:16:18分类IT科技浏览5723
导读:一、继承的概念...

一             、继承的概念

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

二                   、继承的示例

classCat(object): def__init__(self,name,color="白色"): self.name=name self.color=color defrun(self): print("%s:在跑"%self.name) classBosi(Cat): defsetNewName(self,newName): self.name=newName defeat(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.父类的所有非私有的属性      、方法             、会被继承给子类             。

注意:

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

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

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

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

classAnimal(object): def__init__(self,name="动物",color="白色"): self.__name=name self.color=color def__test1(self): print(self.__name) print(self.color) deftest2(self): print(self.__name) print(self.color) classDog(Animal): defdogTest1(self): #不能访问父类的私有属性:AttributeError:Animalobjecthasnoattribute__name #print(self.__name) print(self.color) defdogTest2(self): #self.__test1() self.test2() A=Animal() #print(A.__name) print(A.color) #不能访问父类的私有方法:AttributeError:Animalobjecthasnoattribute__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                   ,B classC(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                   ,B classC(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>,<classobject>)

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
springcloud版本号(Spring Cloud 2022 正式发布!我的天,OpenFeign​ 要退出历史舞台了?!)