中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中類的繼承怎么實現

發布時間:2022-06-24 09:42:34 來源:億速云 閱讀:275 作者:iii 欄目:開發技術

本篇內容主要講解“Python中類的繼承怎么實現”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Python中類的繼承怎么實現”吧!

1. 單繼承

繼承的主要作用是實現代碼的重用。繼承使得子類擁有父類的方法和屬性。
直接來看一個例子吧。

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

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

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

2. 繼承中的方法重寫

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

  1. 覆蓋父類的方法

  2. 對父類的方法進行擴展

一種簡單的方法是直接重寫相應的方法。下面這個例子就是重寫了drink這個方法。當使用goudan調用drink這個方法方法時,結果并不是喝而是拿舌頭喝水。

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

當我們的需求不是簡單的覆蓋父類中的方法,而是在父類方法的基礎上對方法進行擴展。具體的做法是:

  1. 在需要的位置使用super().父類方法 來調用父類方法的執行

  2. 代碼的其他位置針對子類的需求,編寫子類持有的代碼實現

我們來看一個例子,此時goudan在調用drink方法的時候,會輸出喝和拿舌頭喝水兩個輸出。

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

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

3. 多繼承

對于Python而言,一個子類可以有多個父類。多繼承的基本語法是比較簡單的。話不多說,直接看一個例子

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

到此,相信大家對“Python中類的繼承怎么實現”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

江津市| 阜阳市| 孟连| 贺州市| 阆中市| 黄冈市| 麻阳| 武威市| 衡山县| 丽水市| 新营市| 兴山县| 漳浦县| 彰化县| 卢湾区| 房山区| 新昌县| 双流县| 乾安县| 鹤山市| 子长县| 石家庄市| 余干县| 达州市| 元谋县| 通海县| 威远县| 甘洛县| 合江县| 保康县| 西峡县| 双城市| 新乐市| 工布江达县| 龙里县| 荆州市| 锡林郭勒盟| 英超| 遵义县| 吉林市| 疏勒县|