課程
/后端開發
/Java
/Java入門第二季 升級版
如果想要獲得父類的父類的屬性,可以使用super嗎?該怎樣使用?能給出代碼示范嗎???
2018-07-12
源自:Java入門第二季 升級版 9-7
正在回答
例如:
創建一個爸爸類Car
>>> class Car():?def __init__(self,name,brand,color,max_speed):self.name = nameself.brand = brandself.color = colorself.max_speed = max_speeddef owner(self):print('%s擁有一輛小汽車'%self.name)創建一個Car的兒子類 ?Tesla,但我希望兒子不是完全繼承爸爸,他有特殊的能源供應方式--鋰電池。于是我給兒子寫了自己的__init__,這時候,父親的name,brand等實例屬性就沒有了。那如何能找回來呢?用super(新樣式,有新的,當然就有舊樣式). ??super(Tesla,self).__init__(name,brand,color,max_speed),把兒子類名字寫進super(兒子名,self).__init__(爸爸參數)
其實super就是重新調用父親類的__init__一遍,就能讓兒子重獲爸爸的家產,繼承他的遺產·~~擁有爸爸的屬性
Voidmatrix 提問者
舉報
課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙
2 回答使用super訪問父類對象屬性
3 回答子類可以繼承父類的private屬性嗎
1 回答子類如何使用父類的屬性和方法?
2 回答為什么子類不可以直接使用父類的屬性?
1 回答子類可以改變父類的屬性么
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-07-12
例如:
創建一個爸爸類Car
>>> class Car():?
def __init__(self,name,brand,color,max_speed):
self.name = name
self.brand = brand
self.color = color
self.max_speed = max_speed
def owner(self):
print('%s擁有一輛小汽車'%self.name)
創建一個Car的兒子類 ?Tesla,但我希望兒子不是完全繼承爸爸,他有特殊的能源供應方式--鋰電池。于是我給兒子寫了自己的__init__,這時候,父親的name,brand等實例屬性就沒有了。那如何能找回來呢?用super(新樣式,有新的,當然就有舊樣式). ??super(Tesla,self).__init__(name,brand,color,max_speed),把兒子類名字寫進super(兒子名,self).__init__(爸爸參數)
其實super就是重新調用父親類的__init__一遍,就能讓兒子重獲爸爸的家產,繼承他的遺產·~~擁有爸爸的屬性