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中有四種類型的繼承。

單一繼承
當(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
