子類繼承父類,必須宣告父類的建構函式

2021-10-06 22:50:56 字數 1102 閱讀 9581

class entity():

def __init__(self, object_type):

print('parent class init called')

self.object_type = object_type

def get_context_length(self):

raise exception('get_context_length not implemented')

def print_title(self):

print(self.title)

class document(entity):

def __init__(self, title, author, context):

print('document class init called')

entity.__init__(self, 'document')

self.title = title

self.author = author

self.__context = context

def get_context_length(self):

return len(self.__context)

class video(entity):

def __init__(self, title, author, video_length):

print('video class init called')

entity.__init__(self, 'video')

self.title = title

self.author = author

self.__video_length = video_length

def get_context_length(self):

return self.__video_length

首先需要注意的是建構函式。每個類都有建構函式,繼承類在生成物件的時候,是不會自動呼叫父類的建構函式的,

因此你必須在 init() 函式中顯式呼叫父類的建構函式。

它們的執行順序是 子類的建構函式 -> 父類的建構函式。

子類的構造方法必須繼承父類的構造方法

public class person public person string name public class athletes extends person person類定義了乙個有參的構造方法,athletes類中會報錯,解決辦法是person類中加乙個無參的構造方法 父類寫了有參建構函...

py 子類繼承父類

class 派生類名 基類名 usr bin python coding utf 8 class parent 定義父類 parentattr 100def init self print 呼叫父類建構函式 defparentmethod self print 呼叫父類方法 defsetattr s...

php父類繼承子類 PHP父類方法繼承問題

有幾個類的很相似,只是其方法對資料處理的邏輯和最後資料輸出的結果有些差別,可以通過這樣的思路實現嗎?1.思路一,通過修改抽象函式邏輯實現返回值不同abstract class parentsclass child extends parentsclass child extends parents ...