繼承
什麼是繼承
繼承是一種建立新類的方式,在python中,新建的類可以繼承乙個或多個父類,父類又可稱為原始類,新建的類稱為新類或子類
首先先建立乙個父類
classparentclass1: #定義父類
passclassparentclass2: #定義父類
passclasssubclass1(parentclass1): #單繼承,父類是parentclass1,子類是subclass
passclasssubclass2(parentclass1,parentclass2): #python支援多繼承,用逗號分隔開多個繼承的類
pass
檢視繼承
>>>subclass1.__bases__ #__base__只檢視從左到右繼承的第乙個子類,__bases__則是檢視所有繼承的父類
(,)>>>subclass2.__bases__
注:如果沒有指定父類,python的類會預設繼承object類,object是所有python類的父類,它提供了一些常見方法(如__str__)的實現。
>>>parentclass1.__bases__
(,)>>>parentclass2.__bases__
在開發程式的過程中,如果我們定義了乙個類a,然後又想新建立另外乙個類b,但是類b的大部分內容與類a的相同時
我們不可能從頭開始寫乙個類b,這就用到了類的繼承的概念。
通過繼承的方式新建類b,讓b繼承a,b會『遺傳』a的所有屬性(資料屬性和函式屬性),實現**重用
classanimal:'''貓和狗都是動物,所以創造乙個animal基類'''def __init__(self, name, aggressivity, life_value):
self.name=name # 貓和狗都有自己的暱稱;
self.aggressivity=aggressivity # 貓和狗都有自己的攻擊力;
self.life_value=life_value # 貓和狗都有自己的生命值;
def eat(self):
print('%s is eating'%self.name)classdog(animal):
passclasscat(animal):
pass
egg= person('egon',10,1000)
erha= dog('erha',50,1000)
egg.eat()
erha.eat()
當然子類也可以新增自己新的屬性或者在自己這裡重新定義這些屬性(不會影響到父類),需要注意的是,一旦重新定義了自己的屬性且與父類重名,那麼呼叫新增的屬性時,就以自己為準了。
什麼是原型繼承
var a var b cloneobj a alert b.name function cloneobj obj f.prototype obj return new f script 首先我們還是通過原型鏈的方式來解釋 首先f1通過原型鏈找到f.prototype obj直接賦值給f.proto...
什麼是python的庫 什麼是python標準庫
什麼是python標準庫 閱讀 72 python 標準庫非常龐大,所提供的元件涉及範圍十分廣泛,正如以下內容目錄所顯示的。這個庫包含了多個內建模組 以 c 編寫 常用的python標準庫,個人認為分為三類 7大程式設計常用,第三方庫以及常用的科學計算庫.常用的7大庫有 os 作業系統 time 時...
C 什麼是繼承和派生
這篇博文對c 的繼承和派生將的非常好。在c 中,所謂 繼承 就是在乙個已存在的類的基礎上建立乙個新的類。已存在的類稱為 基類 base class 或 父類 father class 新建的類稱為 派生類 derived class 或 子類 son class 乙個新類從已有的類那裡獲得其已有特性...