LSP (替換原則) 是談何謂「良好的繼承」。
- 子類別應該可以使用其基礎類別替代,而不會發生的誤。如果會發生錯誤,就代表使用繼承失敗。
- Liskov代換原則是繼承之所以能重複使用的基石,只有當衍生類別可以替換掉基礎類別,且軟體的功能不受影響時,其類別才算真正的被重複使用,而衍生類別也才能夠在基礎類別的基礎上增加新的行為。
- Liskov代換原則要求凡是基礎類別使用的地方,衍生類別一定適用,故衍生類別必須包含全部基礎類別的介面
- 針對違反LSP設計時可行的重構(Refactoring)方式
- 當類別A錯誤的繼承類別B時,可建構一個新的抽象類別C,作為2個具體類別A,B的父類別
- 當類別A錯誤的繼承類別B時,可重構為類別B委派(Delegate)類別A
沒有留言:
張貼留言