作法(Mechanics)
- 建立一個extension class,將它作為原物(原類)的subclass或wrapper。
- 在extension class中加入轉(zhuǎn)型構(gòu)造函數(shù)(converting constructors)。
- ==》所謂[轉(zhuǎn)型構(gòu)造函數(shù)]是指接受原物(original)作為參數(shù)。如果你采用subclassing方安,那么轉(zhuǎn)型構(gòu)造函 數(shù)應(yīng)該調(diào)用適當?shù)膕uperclass構(gòu)造函數(shù);如果你采用wrapper方案,那么轉(zhuǎn)型構(gòu)造函數(shù)應(yīng)該將它所獲得之引數(shù)(arument)賦值給[用以保 存委托關(guān)系(delegate)]的那個值域。
- 在extension class中加入新特性。
- 根據(jù)需要,將原物(original)替換為擴展物(extension)。
- 將[針對原始類(original class)而定義的所有外加函數(shù)(foreign methods)]搬移到擴展類(extension)中。