国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

python支持多繼承嗎

瀏覽:145日期:2022-07-20 11:04:11

大部分面向對象的編程語言(除了C++)都只支持單繼承,而不支持多繼承,為什么呢?因為多繼承不僅增加編程復雜度,而且容易導致莫名其妙的錯誤。

Python雖然語法上支持多繼承,但是卻不推薦使用多繼承,而是推薦使用單繼承,這樣可以保證編程思路更清晰,也可以避免不必要的麻煩。

當以一個子類有多個直接父類時,該子類會繼承得到所有父類的方法,但是如果其中有多個父類包含同名方法會發生什么?此時排在前面的父類中的方法會“遮蔽”后面父類中的方法。

栗子如下:

#coding=utf-8class Item: def info(self): print('Item中的方法',’這是一個商品’) class Product: def info(self): print(’Product中的方法’,’這是一個能賺錢的商品’) class Computer(Item,Product): pass c = Computer()c.info()

控制臺打印如下:

Item中的方法,這是一個商品

解釋:控制臺打印的是Item類中的方法,所以說子類所繼承的父類中的方法,如果存在同名,前面的會“遮蔽”后面的即前面的直接父類優先級高于后面的。

Python關于多繼承知識點擴展:

大部分面向對象的編程語言(除了C++)都只支持單繼承,而不支持多繼承,為什么呢?因為多繼承不僅增加編程復雜度,而且容易導致莫名其妙的錯誤。

Python雖然語法上支持多繼承,但是卻不推薦使用多繼承,而是推薦使用單繼承,這樣可以保證編程思路更清晰,也可以避免不必要的麻煩。

當以一個子類有多個直接父類時,該子類會繼承得到所有父類的方法,但是如果其中有多個父類包含同名方法會發生什么?此時排在前面的父類中的方法會“遮蔽”后面父類中的方法。

栗子如下:

#coding=utf-8class Item: def info(self): print('Item中的方法',’這是一個商品’)class Product: def info(self): print(’Product中的方法’,’這是一個能賺錢的商品’)class Computer(Item,Product): passc = Computer()c.info()

解釋:控制臺打印的是Item類中的方法,所以說子類所繼承的父類中的方法,如果存在同名,前面的會“遮蔽”后面的即前面的直接父類優先級高于后面的。

以上就是python支持多繼承嗎的詳細內容,更多關于python是否支持多繼承的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 阿拉善盟| 延川县| 邮箱| 麻阳| 荆州市| 远安县| 赤城县| 文山县| 栾川县| 静宁县| 东台市| 宁远县| 秦皇岛市| 十堰市| 湾仔区| 东丰县| 镇赉县| 永善县| 罗甸县| 若尔盖县| 阿瓦提县| 桑日县| 璧山县| 乌拉特前旗| 会理县| 彩票| 利川市| 武宁县| 石屏县| 五寨县| 茂名市| 枣阳市| 简阳市| 子洲县| 宁乡县| 鲁山县| 铁岭市| 邯郸市| 枣强县| 台湾省| 南昌市|