class bird:def __init__(self):
self.hungry = true
def eat(self):
if self.hungry:
print('我餓了')
else:
print('不餓,謝謝')
在子類繼承的時候,建構函式被重寫,但是重寫的時候沒有任何初始化父類屬性hungry的**。這樣就導致了錯誤發生
如果為了達到目的,需要呼叫父類的建構函式來保證基本的初始化。
而在子類中呼叫父類建構函式方法:
如果父類中的建構函式為:__init__
(self, student_name, student_age)
那麼子類中如下:1、直接使用父類呼叫父類建構函式:class.__init__(self)--->person.__init__(self, student_name, student_age)
2、使用super() ---->
super(student, self).__init__(student_name, student_age)
---->
super().__init__(student_name, student_age)
子類繼承父類時候的重寫和過載
class a public class b extends a 正確,重寫父類方法,可以擴大訪問許可權 private int method1 int a,int b 錯誤,重寫父類方法,不能降低了訪問許可權 private long method1 int a,int b 錯誤,重寫父類方法,不...
python類的繼承及重寫父類方法
寫python有一年多了,平日使用python解決一些問題,調一些介面,用一些框架,雖然不影響都可以寫,但一直沒有好好的花時間去理解python概念性的東西。也許,這也是寫了這麼久一直不能有所進步的原因,從今天起,來重新好好的學習一下python的相關概念。class tree def init s...
python重寫 python的繼承和重寫
class classname baseclasslist 類的幫助資訊 staement 類體 classname 用於指定類名 baseclasslist 用於指定要繼承的基類 也就是父類 可以有多個,類名之間用逗號分隔 類的幫助資訊 用於指定類的文件字串,定義該字串後,在建立類的物件時,輸入類...