av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

創(chuàng)新互聯(lián)Python教程:Python中類(lèi)的繼承是什么

一、繼承的概念

在現(xiàn)實(shí)生活中,繼承一般指的是子女繼承父輩的財(cái)產(chǎn),在程序中,繼承描述的是事物之間的所屬關(guān)系,例如貓和狗都屬于動(dòng)物,程序中便可以描述為貓和狗繼承自動(dòng)物;同理,波斯貓和巴厘貓都繼承自貓,而沙皮狗和斑點(diǎn)狗都繼承足夠,如下如所示:

二、繼承的示例

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()

運(yùn)行結(jié)果為:

bs的名字是:波斯貓,顏色是:白色
波斯貓:在吃
湯姆貓:在跑

相關(guān)推薦:《python視頻教程》

說(shuō)明:

1.雖然子類(lèi)沒(méi)有定義__init__()方法,但是父類(lèi)有。所以在子類(lèi)集成父類(lèi)的時(shí)候這個(gè)方法就被繼承了,所以只要?jiǎng)?chuàng)建Bosi的對(duì)象,就默認(rèn)執(zhí)行了那個(gè)繼承過(guò)來(lái)的__init__()方法。

2.子類(lèi)在繼承的時(shí)候,在定義類(lèi)時(shí),小括號(hào)()中為父類(lèi)的名字。

3.父類(lèi)的所有非私有的屬性、方法、會(huì)被繼承給子類(lèi)。

注意:

1.私有的屬性,不能通過(guò)對(duì)象直接訪問(wèn),但是可以通過(guò)方法訪問(wèn)。

2.私有的方法,不能通過(guò)對(duì)象直接訪問(wèn)。

3.私有的屬性、方法,不會(huì)被子類(lèi)繼承,也不能被訪問(wèn)。

4.一般情況下,私有的屬性、方法都是不對(duì)外公布的,往往用來(lái)做內(nèi)部的事情,起到安全的作用。

class Animal(object):
    def __init__(self, name = "動(dòng)物",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):
        #不能訪問(wèn)父類(lèi)的私有屬性: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)
#不能訪問(wèn)父類(lèi)的私有方法:AttributeError: 'Animal' object has no attribute '__test1'
#A.__test1()
A.test2()
print("-----------------分割線-----------------")
D = Dog(name="阿黃",color = "黃色")
D.dogTest1()
D.dogTest2()

運(yùn)行結(jié)果為:

白色
動(dòng)物
白色
-----------------分割線-----------------
黃色
阿黃
黃色

三、多繼承

從圖中能夠看出,所謂多繼承,即子類(lèi)有多個(gè)父類(lèi),并且具有它們的特征。

Python中多繼承的格式如下:

class A:
    def printA(self):
        print("---A---")
class B:
    def printB(self):
        print("---B---")
#定義一個(gè)子類(lèi)繼承A,B
class C(A,B):
    def printC(self):
        print("---C---")
obj_C = C()
obj_C.printA()
obj_C.printB()

運(yùn)行結(jié)果為:

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

說(shuō)明

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

2.父類(lèi)中的方法、屬性,子類(lèi)會(huì)繼承。

3.如果多個(gè)父類(lèi)中有同一個(gè)方法,誰(shuí)寫(xiě)在前面就調(diào)用誰(shuí)的方法。

class A:
    def printA(self):
        print("---A---")
class B:
    def printB(self):
        print("---B---")
#定義一個(gè)子類(lèi)繼承A,B
class C(A,B):
    def printC(self):
        print("---C---")
obj_C = C()
obj_C.printA()
obj_C.printB()
#可以查看一個(gè)雷的對(duì)象搜索方法時(shí)的先后順序
print(C.__mro__)

運(yùn)行結(jié)果為:

---A---
---B---
()


網(wǎng)站題目:創(chuàng)新互聯(lián)Python教程:Python中類(lèi)的繼承是什么
URL鏈接:http://uogjgqi.cn/article/cdpphid.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流