python3-----繼承 過載
通過繼承,新類可以獲得現有類的屬性和方法。新類可以稱作子類或者派生類,被繼承的現有的類稱作父類或者超類。
在子類(派生類)中,可以定義新的屬性和方法,從而完成對父類(超類)的擴充套件。
1.可以通過繼承來定義子類的格式:
class 類名(父類名):
子類中的語句
2.定義子類的屬性和方法:
python中允許在子類中定義自己的屬性和方法。如果子類定義的屬性和方法於父類的屬性和方法同名,則子類例項物件呼叫子類中定義的屬性和方法。Python允許在子類方法中通過類物件直接呼叫超類的方法。
方法過載:用子類的方法覆蓋父類的方法。
3.呼叫超類的建構函式:
在使用建構函式例項物件進行初始化時,可以在子類的建構函式中呼叫超類的建構函式。
class animal: #定義父類
def __init__(self,a):
self.animal_data = a
class cat(animal): #定義子類
def __init__(self,a,b): #定義子類的建構函式
self.cat_data = a
animal.__init__(self,b) #呼叫父類建構函式
c = cat("吃",20) #建立子類例項物件
c.animal_data #顯示繼承屬性
c.cat_data #顯示子類的自定義屬性
4.多繼承:
多繼承:指子類可以同時繼承多個父類。如果父類中存在同名的屬性或方法,Python會按照從左到右的順序在父類中搜尋方法。
5.索引和分片過載:
與索引和分片有關的過載方法包括: __ getitem __ __ setitem __ __ delitem __
__ getitem __ 在例項物件執行索引、分片或for迭代時,呼叫該方法。
__ setitem __ 再通過賦值語句給索引或分片賦值時,呼叫該方法,實現對序列物件的修改。
__ delitem __ 該方法過載del運算,即刪除索引或分片。
相關文章
- python 類的繼承與過載Python繼承
- Java繼承中成員方法的overload(過載/過載)Java繼承
- odoo 繼承(owl繼承、web繼承、view繼承)Odoo繼承WebView
- JavaScript的繼承-轉載JavaScript繼承
- 原型,繼承——原型繼承原型繼承
- 菱形繼承,虛繼承繼承
- 多繼承 與 多重繼承繼承
- Object C學習筆記23-繼承,重寫,過載Object筆記繼承
- C++繼承詳解:共有(public)繼承,私有(private)繼承,保護(protected)繼承C++繼承
- 三種繼承的方法:public 繼承/private繼承/protected繼承詳解及區別繼承
- Javascript繼承4:潔淨的繼承者—-原型式繼承JavaScript繼承原型
- Javascript繼承2:建立即繼承—-建構函式繼承JavaScript繼承函式
- 繼承繼承
- C++繼承一之公有繼承C++繼承
- JS原型繼承和類式繼承JS原型繼承
- C++中公有繼承、保護繼承、私有繼承的區別C++繼承
- 公有繼承、私有繼承和保護繼承之間的對比繼承
- 繼承與派生,多繼承,函式過載,建構函式呼叫順序 靜態多型和動態多型繼承函式多型
- 關於繼承、重寫、過載的易混淆之處的總結繼承
- C++ 成員函式的過載,繼承,覆蓋和隱藏C++函式繼承
- day23:單繼承&多繼承&菱形繼承&__init__魔術方法繼承
- 類的繼承_子類繼承父類繼承
- JavaScript繼承JavaScript繼承
- JavaScript 繼承JavaScript繼承
- 多繼承繼承
- Java繼承Java繼承
- javascript:繼承JavaScript繼承
- swift繼承Swift繼承
- js繼承JS繼承
- 虛繼承繼承
- 10 #### 繼承繼承
- Python繼承過程的__init__方法Python繼承
- C++ 派生類函式過載與虛擬函式繼承詳解C++函式繼承
- python 基礎之繼承、重寫、多繼承Python繼承
- PostgreSQL 表繼承SQL繼承
- 16-繼承繼承
- 粗談繼承繼承
- 原型和繼承原型繼承