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