面向?qū)ο蟮奶卣鳌^承的意義和操作過程(五)

面向?qū)ο蟮奶卣鳌^承

繼承?一個類型繼承另一個類型,當(dāng)前類型就會擁有另一個類型的公共的屬性和方法,達(dá)到代碼的重復(fù)使用的目的。

繼承的語法:

class 類型(被繼承的類型):
pass

繼承中出現(xiàn)的術(shù)語

父類:被繼承的類,也稱為基類、超類
子類:當(dāng)前類,也稱為派生類
子類繼承父類,體現(xiàn)的時A is a B的關(guān)系
子類繼承父類,就可以使用父類中所有的公開的屬性和方法

繼承鏈

A繼承B,B繼承C,C繼承D
A直接繼承了B,間接繼承了C,D;此時A創(chuàng)建的對象,可以同時使用B,C,D中所有公開的屬性和方法

多繼承

python中,一個類型,可以同時繼承多個類型,同時擁有所有繼承類型的所有公開的屬性和方法
備注:在進行代碼設(shè)計的過程中,可能會出現(xiàn)多繼承,所以盡量不要在父類中定義相同名稱的屬性或者方法
備注2:如果父類中出現(xiàn)了相同名稱的屬性和方法,在使用的時候子類調(diào)用時會優(yōu)先繼承優(yōu)先調(diào)用。
方法重載:偽方法重載~出現(xiàn)在一個類中的不同函數(shù)
方法重寫:子類中,重新定義父類中已經(jīng)存在的方法
子類-父類,兩個實現(xiàn)了繼承關(guān)系的類型,才會有方法重寫
如果方法進行了重寫,在子類對象執(zhí)行這個方法時,優(yōu)先執(zhí)行重寫的方法。
如果子類沒有重寫這個方法,在執(zhí)行時就會執(zhí)行從父類中繼承過來的方法
以下是簡單的實例:

class God(object):
def __init__(self, name):
[self.name*
"); background-size: cover; background-position: 0px 2px;">*](http://link.zhihu.com/?target=http%3A//self.name) = name

def eat(self):
print("風(fēng)餐露宿...")

class LZS(God):-------------------->>>>>>繼承父類

def drink(self):------------------------------>>>>>子類特有
print("喝花酒")

zhishen_lu = LZS("魯智深")
zhishen_lu.eat()
zhishen_lu.drink()

tianpeng = God("天蓬")
[tianpeng.eat*
"); background-size: cover; background-position: 0px 2px;">*](http://link.zhihu.com/?target=http%3A//tianpeng.eat)()
tianpeng.drink()

**擴展:**子類中,訪問父類的屬性和方法:
class User(Person):
def __init__(self, name, age):
# 直接通過父類的類名稱調(diào)用父類的屬性和方法
Person.__init__(name, age)
# 通過super()來調(diào)用父類的屬性和方法
super().__init__(name, age)
**方法重寫的具體實現(xiàn):**
class Eat():
def __init__(self,name):
self.name=name
def Food(self,fod):
print("吃飯了,吃的是%s"%fod)
class Person(Eat):
def Food(self,fod):
print("去吃飯,吃的是%s"%fod)

x=Person("a")
[x.Food*
"); background-size: cover; background-position: 0px 2px;">*](http://link.zhihu.com/?target=http%3A//x.Food)("米")
y=Eat("sds")
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容