韩漫免费漫画在线观看方法,《好好疼爱里面》免费看,年轻漂亮的女士护士内衣,妈妈醉酒后把我当爸爸电视剧

文章 > Python高级 > Python中类的继承是什么

Python中类的继承是什么

Python 继承

头像

爱喝马黛茶的安东尼

2019-06-28 16:00:084252浏览 · 0收藏 · 0评论

一、继承的概念

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

qqq.png

二、继承的示例

class Cat(object):
    def __init__(self,name,color="白色"):
        self.name = name
        self.color = color
    def run(self):
        print("%s:在跑"%self.name)
class Bosi(Cat):
    def setNewName(self,newName):
        self.name = newName
    def eat(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.一般情况下,私有的属性、方法都是不对外公布的,往往用来做内部的事情,起到安全的作用。

class Animal(object):
    def __init__(self, name = "动物",color = "白色"):
        self.__name = name
        self.color = color
    
    def __test1(self):
        print(self.__name)
        print(self.color)
    def test2(self):
        print(self.__name)
        print(self.color)
class Dog(Animal):
    def dogTest1(self):
        #不能访问父类的私有属性:AttributeError: 'Animal' object has no attribute '__name'
        #print(self.__name)
        print(self.color)
    def dogTest2(self):
        #self.__test1()
        self.test2()
A = Animal()
#print(A.__name)
print(A.color)
#不能访问父类的私有方法:AttributeError: 'Animal' object has no attribute '__test1'
#A.__test1()
A.test2()
print("-----------------分割线-----------------")
D = Dog(name="阿黄",color = "黄色")
D.dogTest1()
D.dogTest2()

运行结果为:

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

三、多继承

www.png

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

Python中多继承的格式如下:

class A:
    def printA(self):
        print("---A---")
class B:
    def printB(self):
        print("---B---")
#定义一个子类继承A,B
class C(A,B):
    def printC(self):
        print("---C---")
obj_C = C()
obj_C.printA()
obj_C.printB()

运行结果为:

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

说明

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

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

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

class A:
    def printA(self):
        print("---A---")
class B:
    def printB(self):
        print("---B---")
#定义一个子类继承A,B
class C(A,B):
    def printC(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'>)

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

开会桌下把荫蒂添的好多水 | 老公在怀里吃奶像个小孩子| 秘书奶头好大下面好紧| 小视频| 《不戴套瑜伽教练3》| 暴躁少女CSGO高清大图特点| 旅游攻略| 《法国空乘5》| 《爸开车我抱着妈妈去姥姥家》| 日本双人xX00吃奶视频| 《明明说过要用避孕套了》| 情趣刑具| 《耻度》金银花露原文| 公媳欢情沈曼最新章节更新| 麻花星空传剧原创MV在线 | 宝宝水帘洞都拉丝了怎么办 | 《特殊游泳教练》| 免费B站看大片真人电视剧| 17C·MOC官网| 老师好爽要尿了潮喷了18P| 校花被教官扒开腿狂躁| 成品PPT网站大片入口| 《厨房2》韩剧| 100%透光裸妆| 韩国动漫RUNNING MAN...| 免费B站看大片真人电视剧| 初次尝了销魂少妇邻居| 合不拢腿(双)BY粗眉毛免费阅.| 40岁女人如饥似渴最佳解决方法| 成品网站免费直播有哪些平台推荐| 打扑克视频| 爱丫爱丫影院在线观看免费版高清 | 坤坤寒进桃子里在线看歌词| 坐在竹马鸡上背单词小说| 我和两个小婕子做过爱| 亚洲-区二区三区四区五区六| 久久婷婷五月综合色国产香蕉 | 77777免费观看电视剧推荐适..| 两人一起做AJ的视频教程| 麻豆| 娇瘾缠欢TXT小说