最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一文輕松了解Python中類的繼承

 更新時(shí)間:2022年06月23日 12:58:45   作者:hello_JeremyWang  
類的繼承可以看成對(duì)類的屬性和方法的重用,能夠大大的減少代碼量,下面這篇文章主要給大家介紹了關(guān)于Python中類的繼承的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

1. 單繼承

繼承的主要作用是實(shí)現(xiàn)代碼的重用。繼承使得子類擁有父類的方法和屬性。
直接來看一個(gè)例子吧。

class animal:
	def eat(self):
		print("吃")
		
	def drink(self):
		print("喝")
	
class dog(animal):
	def dark(self):
		print("汪汪叫")
	

goudan = dog()
goudan.eat()
goudan.drink()

從上面的代碼可以看出,在編寫dog類的時(shí)候,我們并沒有重寫eat和drink兩個(gè)方法。我們只需要在dog后面的括號(hào)中加上父類的名字即可。當(dāng)子類繼承了父類,子類就可以直接使用父類中的方法了。在本例中,goudan可以直接使用animal類中的eat和drink兩個(gè)方法。
而且一個(gè)神奇的事情是,繼承是具有傳遞性的。子類擁有父類的方法和屬性,同時(shí)也具有父類的父類所具有的屬性。

2. 繼承中的方法重寫

有時(shí)候,父類中的方法并不能完成滿足子類的需求。這時(shí)候我們就需要方法重寫了。子類方法重寫一般有兩種情況:

  1. 覆蓋父類的方法
  2. 對(duì)父類的方法進(jìn)行擴(kuò)展

一種簡(jiǎn)單的方法是直接重寫相應(yīng)的方法。下面這個(gè)例子就是重寫了drink這個(gè)方法。當(dāng)使用goudan調(diào)用drink這個(gè)方法方法時(shí),結(jié)果并不是喝而是拿舌頭喝水。

class animal:
	def eat(self):
		print("吃")
		
	def drink(self):
		print("喝")
	
class dog(animal):
	def drink(self):
		print("拿舌頭喝水")
		
	def dark(self):
		print("汪汪叫")
	

goudan = dog()
goudan.eat()
goudan.drink()

當(dāng)我們的需求不是簡(jiǎn)單的覆蓋父類中的方法,而是在父類方法的基礎(chǔ)上對(duì)方法進(jìn)行擴(kuò)展。具體的做法是:

  1. 在需要的位置使用super().父類方法 來調(diào)用父類方法的執(zhí)行
  2. 代碼的其他位置針對(duì)子類的需求,編寫子類持有的代碼實(shí)現(xiàn)

我們來看一個(gè)例子,此時(shí)goudan在調(diào)用drink方法的時(shí)候,會(huì)輸出喝和拿舌頭喝水兩個(gè)輸出。

class animal:
	def eat(self):
		print("吃")
		
	def drink(self):
		print("喝")
	
class dog(animal):
	def drink(self):
		# 1. 根據(jù)子類的需求編寫特定的代碼
		print("拿舌頭喝水")
		# 2. 使用super繼承父類中的fangfa
		super().drink
		
	def dark(self):
		print("汪汪叫")
	

goudan = dog()
goudan.eat()
goudan.drink()

3. 多繼承

對(duì)于Python而言,一個(gè)子類可以有多個(gè)父類。多繼承的基本語法是比較簡(jiǎn)單的。話不多說,直接看一個(gè)例子

class A():
	def test(self):
		print("test")
		
class B():
	def demo(self):
		print("demo")

class C(A,B):
	pass

c = C()
c.test()
c.demo()

總結(jié)

到此這篇關(guān)于Python中類的繼承的文章就介紹到這了,更多相關(guān)Python類的繼承內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

若羌县| 千阳县| 阿拉善右旗| 临颍县| 胶南市| 荆门市| 依安县| 太湖县| 石门县| 缙云县| 佛坪县| 临漳县| 丹凤县| 梅州市| 武胜县| 增城市| 林芝县| 长宁县| 平度市| 杭锦后旗| 鄂尔多斯市| 正镶白旗| 康马县| 庆城县| 临颍县| 河津市| 安康市| 呼伦贝尔市| 黔东| 罗定市| 肃南| 多伦县| 江西省| 轮台县| 高淳县| 庆元县| 绥棱县| 鄂尔多斯市| 营口市| 英德市| 泸定县|