2012-10-08 23 views
1

繼承的一個缺點是超類和它的子類非常緊密地耦合。很多資源(比如SO)會在編寫可能被分類的課程時「小心」來補償這一點。如何保護基類不會導致其子類中的錯誤?

是否有任何指導方針應採取什麼預防措施或測試過程來確保您的基類是安全的?或者你只需​​要嘗試預測所有潛在的子類行爲?

+1

我的猜測是唯一的方法是堅實的設計和堅實的單元測試,遵循「普遍接受的良好實踐」(不管這可能是什麼意思,但例如封裝,設計到界面,提前計劃)。我看不到這個銀子彈。 – heltonbiker

回答

2

儘可能少的在父類中的要求。如果您必須執行更復雜的操作,然後將它們分成邏輯片段,將每個片段置於不同的方法中,以便兒童可以根據需要覆蓋它們。