什麼是多型:
多型是同一父類型別,呼叫同乙個方法後,表現出不同的狀態。(比如寵物這個類,有吃的方法,它們的子類也都有吃的方法,在呼叫父類吃的方法過程中,根據不同的動物有不同的吃的行為)多型的使用步驟:好處:當程式業務有擴充套件是,使用多型**改動量最小
概念:同一型別,呼叫統一方法,表現出不同狀態。
實現方式:
方法過載:靜態方式實現多型
方法重寫:動態方式實現多型
裡式替換原則lsp:任何父類出現的位置,都可以使用其子類物件進行替換,方法的引數是父類型別,傳遞實參時,傳遞其子類物件多型的特點:
父類:方法(虛方法)
子類:重寫父類中的虛方法
多型的實現方式和區別:
3.1)方法的返回值必須是父類型別
3.2)方法的引數必須包括所有的子類需要的所有引數。再在所有引數後面額外加乙個type引數,用來和建立哪個子類物件進行匹配。
3.3)判斷型別,建立物件。例如用switch來進行判斷,用type座switch的引數,逐一對比。
好處:建立物件無需自己new,二是呼叫工廠方法即可。當子類沒有確定,類名和引數頻繁變化的時候,只需要修改工廠類一處即可,整體改動最少。
物件導向 之建立物件
為什麼需要建立物件?使用object建構函式或物件字面量雖然可以建立單個物件,但是這樣在需要建立很多物件時,會產生大量重複的 1.工廠模式 優點 可以建立多個類似的物件 缺點 無法識別物件的型別 使用object建構函式或物件字面量雖然可以建立單個物件,但是這樣在需要建立很多物件時,會產生大量重複的...
物件導向之介面
1.什麼是介面?還有另外乙個關鍵字,也可以用來定義新的資料型別 inte ce 但是,使用inte ce關鍵字定義的新資料型別,有一些特殊的要求 1.1 在這種資料型別中,只能有方法宣告,不能有方法實現。1.2 在這種資料型別中,所宣告的成員變數,預設都是public static final的。1...
物件導向之反射
反射 python中的反射功能是由以下四個內建函式提供 hasattr getattr setattr delattr,改四個函式分別用於對物件內部執行 檢查是否含有某成員 獲取成員 設定成員 刪除成員。class foo object def init self self.name wupeiqi...