單項選擇題

對于違反里氏替換原則的兩個類A和B,可以采用的候選解決方案是()

A.盡量將一些需要擴展的類或者存在變化的類設(shè)計為抽象類或者接口,并將其作為基類,在程序中盡量使用基類對象進行編程
B.創(chuàng)建一個新的抽象類C,作為兩個具體類的超類,將A和B共同的行為移動到C中,從而解決A和B行為不完全一致的問題
C.將B到A的繼承關(guān)系改成組合關(guān)系
D.區(qū)分是Is-a還是Has-a。如果是Is-a,可以使用繼承關(guān)系,如果是Has-a,應(yīng)該改成組合或聚合關(guān)系

微信掃碼免費搜題