Python中的繼承

Python編程語言很容易學(xué)習(xí),可以使用過程性編程方法和面向?qū)ο缶幊谭椒?。繼承是面向?qū)ο缶幊讨械囊粋€(gè)這樣的概念。代碼可重用性是繼承的強(qiáng)項(xiàng),當(dāng)我們?cè)赑ython上工作時(shí),它在很多應(yīng)用程序中都有幫助。

什么是繼承?

將父類的屬性繼承到子類的方法稱為繼承。它是一個(gè)面向?qū)ο蟮母拍睢R韵率抢^承的好處。 1.代碼可重用性-我們不必一遍又一遍地編寫相同的代碼,我們只需在子類中繼承所需的屬性即可。 2.它代表了父類和子類之間的真實(shí)關(guān)系。 3.它在性質(zhì)上是及物性的。如果子類繼承父類的屬性,則子類的所有其他子類也將繼承父類的屬性。 下面是一個(gè)簡(jiǎn)單的Python繼承示例。
下面是一個(gè)簡(jiǎn)單的Python繼承示例。

class Parent():
    def first(self):
        print('first function')

class Child(Parent):
    def second(self):
        print('second function')
        
ob = Child()
ob.first()
ob.second()
Output:
    first function
    second function

在上面的程序中,您可以使用子類對(duì)象訪問父類函數(shù)。

子類化

通過在子類的聲明中提及父類名稱來調(diào)用父類的構(gòu)造函數(shù)稱為子類。子類通過子類來標(biāo)識(shí)其父類。

init()函數(shù)

每次使用類創(chuàng)建對(duì)象時(shí),都會(huì)調(diào)用init()函數(shù)。當(dāng)我們?cè)诟割愔刑砑觟nit()函數(shù)時(shí),子類將不再能夠繼承父類的init()函數(shù)。該文件的類init()函數(shù)覆蓋父類的init()函數(shù)。

class Parent:
    def __init__(self , fname, fage):
        self.firstname = fname
        self.age = fage
    def view(self):
        print(self.firstname , self.age)

class Child(Parent):
    def __init__(self , fname , fage):
        Parent.__init__(self, fname, fage)
        self.lastname = "python"
    def view(self):
        print("course name" , self.firstname ,"first came",  self.age , " years ago." , self.lastname, " has courses to master python")

ob = Child("Python" , '28')
ob.view()

繼承類型

根據(jù)涉及的子類和父類的數(shù)量,Python中有四種類型的繼承。


118.png

單一繼承

當(dāng)子類僅繼承單個(gè)父類時(shí)。

class Parent:
    def func1(self):
        print("this is function one")

class Child(Parent):
    def func2(self):
        print("this is function 2 ")
        
ob = Child()
ob.func1()
ob.func2()

多重繼承

當(dāng)一個(gè)子類從多個(gè)父類繼承時(shí)。

class Parent:
    def func1(self):
        print("this is function 1")

class Parent2:
    def func2(self):
        print("this is function 2")

class Child(Parent , Parent2):
    def func3(self):
        print("this is function 3")
        
ob = Child()
ob.func1()
ob.func2()
ob.func3()

多級(jí)繼承

當(dāng)一個(gè)子類成為另一個(gè)子類的父類時(shí)。

class Parent:
    def func1(self):
        print("this is function 1")
        
class Child(Parent):
    def func2(self):
        print("this is function 2")
        
class Child2(Child):
    def func3("this is function 3")
    
ob = Child2()
ob.func1()
ob.func2()
ob.func3()

分層繼承

分層繼承涉及來自同一基類或父類的多個(gè)繼承。

class Parent:
    def func1(self):
        print("this is function 1")
        
class Child(Parent):
    def func2(self):
        print("this is function 2")
        
class Child2(Parent):
    def func3(self):
        print("this is function 3")
        
ob = Child()
ob1 = Child2()
ob.func1()
ob.func2()

混合繼承

混合繼承涉及在單個(gè)程序中發(fā)生多個(gè)繼承。

class Parent:
    def func1(self):
        print("this is function one")
        
class Child(Parent):
    def func2(self):
        print("this is function 2")
            
class Child1(Parent):
    def func3(self):
        print(" this is function 3"):
        
class Child3(Parent , Child1):
    def func4(self):
        print(" this is function 4")
        
ob = Child3()
ob.func1()

Python Super()函數(shù)

超級(jí)函數(shù)允許我們從父類調(diào)用方法。

class Parent:
    def func1(self):
        print("this is function 1")
        
class Child(Parent):
    def func2(self):
        Super().func1()
            print("this is function 2")
            
ob = Child()
ob.func2()

Python方法覆蓋

方法重寫您可以重寫Python中的方法。請(qǐng)看下面的示例。

class Parent:
    def func1(self):
        print("this is parent function")
        
class Child(Parent):
    def func1(self):
        print("this is child function")
        
ob = Child()
ob.func1()

父類方法的功能是通過重寫子類中的相同方法來更改的。
繼承是面向?qū)ο缶幊讨凶钪匾母拍钪?。它提供了可編碼性、可讀性和屬性轉(zhuǎn)換,這有助于優(yōu)化和高效的代碼構(gòu)建。Python編程語言加載了繼承等概念。在最近的市場(chǎng)上,龐大的Python應(yīng)用需要越來越多的Python程序員。

https://www.itxiaonv.com/?p=147

26322751-8bd00fde1a719aa1.jpg
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容