練習定義類的時候派生類定義的語法如下所示:
class derivedclassname(baseclassname):
繼承的一般表現形式:
class 父類:
pass
class 子類(父類):
pass
python有兩個內建函式可被用於繼承機制:
1.在父類的基礎上產生子類,產生的子類就叫做派生類
2.父類裡沒有的方法,在子類中有了,這樣的方法就叫做派生方法。
3.父類裡有,子類也有的方法,就叫做方法的重寫(就是把父類裡的方法重寫了)
子類可以使用父類的所有屬性和方法
如果子類有自己的方法,就執行自己的;如果子類沒有自己的方法,就會找父類的。
如果子類裡面沒有找到,父類裡也沒有找到,將會報錯
子類中實現了呼叫父類的方法
在類內:super(子類,self).方法名() supper().init(引數)
在類外:super(子類名,物件名).方法名()
表現形式:
super(子類, self).父類中的方法(…)
父類名.父類中的方法(self,…)
class
provincial
:def
level_p
(self)
:print
("這是省級"
)class
city
:def
level_c
(self)
:print
("這是市級"
)class
district
(city)
:#繼承了city
deflevel_d
(self)
:print
("這是區級"
)obj=district(
)obj.level_d(
)obj.level_c(
)# obj.level_p() #attributeerror: 'district' object has no attribute 'level_p'因無繼承,找不到方法而報錯
city.level_c(
"self"
)super
(district,obj)
.level_c(
)
python類例項屬性,例項方法, 繼承, 多繼承
coding utf 8 import requests class spider name 豬八戒 def init self,url 類初始化方法,例項化類最先呼叫,可直接通過類名呼叫 self.target url target 即為例項化屬性 例項化後的屬性可以被例項化物件訪問,也可以被例項...
python 類繼承與子類例項初始化
init 方法介紹 如果其基類也具有 init 必須顯式地在 init 呼叫它,以保證能夠適當地初始化它的基類部分 例如 baseclass.init self,args.作為構造器的特殊情況,它沒有值被返回,如果返回某個值,會在執行時丟擲異常typeerror.1.子類定義了 init 方法時若未...
Lua 繼承與多型(例項)
交通工具類 vehicle 速度 通過里程數求時間 父類local vehicle 1.1父類構造function vehicle new speed local o o.speed speed or 0 setmetatable o,self self.index self return o en...