日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【类不类四】类的继承

發(fā)布時間:2024/4/14 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【类不类四】类的继承 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

? ? Python是一種面向?qū)ο蟮哪_本語言,所謂OOP: (Object-oriented programming)面向?qū)ο缶幊淌且环N方法,

? ? 既然說是面向?qū)ο?#xff0c;那么肯定會有類這種東西。下面就來談?wù)勵惖睦^承。

? ? 參考:?http://www.xker.com/page/e2015/05/191327.html

? ? super用法:?http://www.cnblogs.com/lovemo1314/archive/2011/05/03/2035005.html

???1.單繼承

? 常見并且常用的是單繼承,也就是只繼承一個父類。

1 # coding: utf-8 2 3 class Parent(object): 5 # __init__是構(gòu)造函數(shù),為創(chuàng)建對象/類初始化時首先執(zhí)行的方法 6 def __init__(self): 7 self.parent = u"父類的屬性" 8 print u"來自父類的構(gòu)造函數(shù)" 9 10 def test(self, message): 11 print message + u", 來自父類的test方法" 12 13 class Children(Parent): 15 def __init__(self): 16 # 調(diào)用父類的構(gòu)造函數(shù) 17 Parent.__init__(self) 18 19 def test(self, message): 20 # 調(diào)用父類的test方法" 21 Parent.test(self, message) 22 23 c = Children() 24 c.test(u"吾乃子類") 25 print c.parent

? ? 注意: 若是子類Children沒有引用父類的構(gòu)造函數(shù)__init__()的話,那么是無法使用它在該函數(shù)下定義的實例變量

self.parent的。

? ? 上面是一種寫法,缺點就是,如果子類Chidren的父類換了的話,那么,子類就要這樣改動了。

# 子類class Children(A):def __init__(self):A.__init__(self) # Parent —> Adef test(self, message):A.test(self, message) # Parent —>A

? ? 如果是代碼量比較少的話,還可以手動來。可惜的是,大多時候都不是這樣的情況。

? ??因此,自Python 2.2開始,Python添加了一個關(guān)鍵字super,來解決這個問題。

? ? 用法如下(不適用于Python 3.x版):

? ? class C(B):

?????? def meth(self, arg):
?????????? super(C, self).meth(arg)

?

? ? ?下面我們用super來修改下上面的代碼

1 # coding: utf-8 2 3 class Parent(object): 4 # __init__是構(gòu)造函數(shù),為創(chuàng)建對象/類初始化時首先執(zhí)行的方法 5 def __init__(self): 6 self.parent = u"父類的屬性" 7 print u"來自父類的構(gòu)造函數(shù)" 8 9 def test(self, message): 10 print message + u", 來自父類的test方法" 11 12 class Children(Parent): 13 # 調(diào)用父類的構(gòu)造函數(shù) 14 def __init__(self): 15 super(Children, self).__init__() 16 17 # 調(diào)用父類的test方法" 18 def test(self, message): 19 super(Children, self).test(message) 20 21 c = Children() 22 c.test(u"吾乃子類") super繼承

? ? 輸出結(jié)果都是一樣的

?

轉(zhuǎn)載于:https://www.cnblogs.com/Ruby517/p/6113458.html

總結(jié)

以上是生活随笔為你收集整理的【类不类四】类的继承的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。