在進行類層次設計時,常見的錯誤是誤用公有繼承。除非要表達的是真正的 IS-A 和 WORKS-LIKE-A 的關系,才使用公有繼承。
設計準則:
- 絕對不要以公有繼承來復用基類的代碼;公有繼承是為了被復用 - 被那些“以多態方式運用基類對象”的代碼復用。
- 當我們需要表達“用來實現”的關系時,選擇成員方式而不要使用繼承。只有在絕對必要的情況下才使用私有繼承 - 也就是說當需要存取保護成員或是需要改寫虛擬函數時。絕對不要只為了重復運用代碼而使用公有繼承。
文章來源:
http://my.donews.com/robinchow/2007/01/13/qzpjchcewcpuedbnfmewwwychrghoqnfpdor/