參考1
參考2物件導向總結
關於類繼承的例項
p84 例4-11
抽象類和多型
抽象類:包含抽象方法的類,而抽象方法不包含任何實現的**,只能在其子類中實現抽象函式的**
1.定義抽象類:
通過類庫abc實現,在定義前需要從類庫abc匯入abcmeta類(metaclass for defining abstract base classes,抽象基類的原類)和abstractmethod類:
from abc import abcmeta,abstractmethod
在定義抽象類時需在類定義中增加如下**:
__metaclass__=abcmeta
即指定該類的元類是abcmeta
如:class myabc(object):
__metaclass__=abcmeta
在抽象類裡面可以定義抽象方法,需在前面加上**:@abstractmethod
抽象方法(不包含任何實現的**)函式體常用pass,如:
class myabc(object):
__metaclass__=abcmeta
@abstractmethod
def abcmethod(self):pass
2.實現抽象類
參考(未完待續)
繼承與多型
繼承 繼承是c 語言支援 重用及多型的重要機制。通過繼承,可以繼承可以在現有類的基礎上派生出新類,新類將共享現有類的成員,並且還可以新增新的成員。c 語言中,重用主要表現為可以使用現成的類 如.net框架類庫中的類 來定義新類,主要方法有組合和繼承兩種 繼承是物件導向程式設計支援 重用的另乙個重要機...
繼承與多型
虛函式只要在基類裡定義,所以繼承類都不用重新定義為虛函式,自動成為虛函式。虛函式必須有實現,普通成員函式在沒有呼叫時可以沒有實現 定義 class animal 只需要在基類定義函式為虛,子類中不需要新增virtual.smile函式在沒有呼叫時可以不實現。當有函式為虛函式時,析構函式應定義為vir...
繼承與多型
繼承需要符合的關係 is a,父類更通用 子類更具體 子類繼承父類的所有屬性和方法 不包括父類構造方法 super可以呼叫父類的方法和構造方法 子類可以重寫父類的方法 使用多型之後,當需要增加新的子類型別時,無需更改總部類,程式的可擴充套件性及可維護性增強 簡單來說,多型是具有表現多種形態的能力的特...