python繼承的時候,要重寫父類建構函式的原因

2022-09-01 10:33:15 字數 1011 閱讀 4305

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 用於指定要繼承的基類 也就是父類 可以有多個,類名之間用逗號分隔 類的幫助資訊 用於指定類的文件字串,定義該字串後,在建立類的物件時,輸入類...