看完了用哆啦A夢(mèng)解釋python面向?qū)ο螅ㄉ希?/a>我們?cè)賮砹私庖幌旅嫦驅(qū)ο蟮墓δ芴攸c(diǎn)。
面向?qū)ο缶幊痰暮锰幘褪强梢宰尨a重用,比如每當(dāng)我們需要什么東西的時(shí)候,只要實(shí)例化一下哆啦A夢(mèng)這個(gè)對(duì)象,然后操作這個(gè)對(duì)象就可以使用了。
1.?繼承
如果我們想要再定義一個(gè)類似哆啦A夢(mèng)的對(duì)象,比如說哆啦A夢(mèng)的兒子對(duì)象,那么這時(shí)候我們用繼承來實(shí)現(xiàn),繼承就是實(shí)現(xiàn)代碼重用的方式。
如果說哆啦A夢(mèng)的兒子叫做哆啦B夢(mèng),那么當(dāng)我們的哆啦B夢(mèng)繼承了它的爸爸哆啦A夢(mèng)的時(shí)候,哆啦B夢(mèng)擁有哆啦A夢(mèng)的所有功能。

在 Python 中繼承的表現(xiàn)形式只這樣的:
class 哆啦B夢(mèng)(哆啦A夢(mèng)):
這樣就說明了哆啦B夢(mèng)是哆啦A夢(mèng)的兒子。
舉個(gè)例子:


我們?cè)谶@里定義了一個(gè)叫做 DuoLaAMeng 的類,然后定義了兩個(gè)方法,一個(gè)是初始化,一個(gè)是獲取竹蜻蜓。
接著我們創(chuàng)建了 DuoLaBMeng 這個(gè)類來繼承 DuoLaAMeng ,可以看到 DuoLaBMeng 其實(shí)啥也沒做,但是它就是擁有了DuoLaBMeng 的所有功能。
這種繼承的方式很好,比如我們以后要?jiǎng)?chuàng)建 DuoLaCMeng ,直接繼承 DuoLaAMeng 就可以用所屬的方法,以后我們要增加什么共同的功能的時(shí)候,只需要在父類 DuoLaAMeng 添加就好了,它的子類們都可以使用。
2.多態(tài)
DuoLaBMeng 和 DuoLaCMeng 是 DuoLaAMeng 的兒子,我們也可以把它的兒子當(dāng)做 DuoLaAMeng 對(duì)象來使用,比如說有一天 DuoLaAMeng在忙,這時(shí)候大雄完全可以把它的兒子們當(dāng)做是 DuoLaAMeng 來使用,完全木有問題,這就是面向?qū)ο笾卸鄳B(tài)的意思。

但是有些子類是獨(dú)具特色的,比如 DuoLaBMeng 可以從口袋中拿出充氣娃娃,而它的父親 DuoLaAMeng 沒有這個(gè)功能。

這時(shí)候父類 DuoLaAMeng 是不可以把它當(dāng)做子類DuoLaBMeng 來用的,也就是子類可以用父類的方法,但是父類不能用子類的方法。


相關(guān)文章:
用哆啦A夢(mèng)解釋python面向?qū)ο螅ㄉ希?/a>
關(guān)注我,讓你像看小黃文一樣輕松學(xué)到 Python 的所有!
http://weixin.qq.com/r/KC-Ty2-EvjLBrSuo93o6?(二維碼自動(dòng)識(shí)別)
ps:還沒獲取我精心準(zhǔn)備的 Python 電子書和思維導(dǎo)圖等干貨的可以在我的公眾號(hào)「學(xué)習(xí)Python的正確姿勢(shì)」中發(fā)送 python 免費(fèi)獲取哦!
再ps:說真的,如果你能點(diǎn)個(gè)贊轉(zhuǎn)發(fā)支持我一下我會(huì)更有動(dòng)力寫。
順手
,點(diǎn)個(gè)贊吧