將公共操作和域放在超類;不要過多使用反射。不要使用受保護的類。
不使用protected的原因:(訪問域)
子類集合無限制,會破壞封裝性。
同乙個包中的所有類都可以訪問protected域。
使用繼承實現"is-a"關係
除非所有繼承的方法都有意義,否則不要使用繼承。
覆蓋方法時,不要改變預期行為。
使用多型,而非型別資訊。
//對於下main這種形式的**:
if(x is of type1)
action1(x)
else if( x is of type2)
action2(x);
//都應該考慮使用多型性。如果action1和action2概念相同,就該為這個概念定義乙個方法,並將其放置在兩個類的超類或者介面中,呼叫:
x.action()
C 繼承設計
1 共有繼承意味著 is a 關係 是一種 2 繼承中父類的作用域相當於巢狀在子類中。注意上面的宣告,子類中所有名為mf1 mf3 的函式都被父類中mf1 mf3所覆蓋,即使函式有不同的引數型別那個也適用,而且無論是不是虛函式也同樣適用。我們只在意其名稱。3 解決上面的預設掩蓋行為的方法是使用usi...
Aha!設計模式 58 裝飾模式 2
示例 我們從前一篇文章中選取網路資料處理的例子寫一段python 中首先定義了資料處理基類dataprocessor,它有乙個process操作用於處理資料。datacreater是乙個普通的派生類,用於初始化資料。然後是decorator類,它定義了乙個資料成員processor,用於管理裝飾物件...
PCB設計技巧
1.印製線路板上的元器件放置的通常順序 1.放置與結構有緊密配合的固定位置的元器件,如電源插座 指示燈 開關 連線件之類,這些器件放置好後用軟體的lock 功能將其鎖定,使之以後不會被誤移動 2.放置線路上的特殊元件和大的元器件,如發熱元件 變壓器 ic 等 3.放置小器件。2.元器件離板邊緣的距離...