誰擁有資料,誰就對外提供操作這些資料的方法。
例子:1、人在黑板上畫圓 (person blackboard circle)draw(x,y) 寫在circle中
2、列車司機緊急剎車
3、售貨員統計收穫小票的金額
4、你把門關上了
5、球從繩子上一邊移動到另一邊。
class ball
public void move() }
class rope
public point nextpoint(point currentpoint)
}
6、兩塊石頭磨成一把石刀,石刀可以砍樹,砍成木材,木材做成椅子
stonestoneknife
兩塊石頭 變成 一把石刀(石頭物件消失了)
stoneknife = knifefactory.createknife(stone first,stone second)
matertial m = cut(tree tree)
tree
matertial
chair
木材變成椅子(木材消失了)
chair c = chai***ctory.makechair(matertial m);
物件導向設計的經驗原則
1 所有資料都應該隱藏在所在的類的內部。2 類的使用者必須依賴類的共有介面,但類不能依賴它的使用者。3 儘量減少類的協議中的訊息。4 實現所有類都理解的最基本公有介面 例如,拷貝操作 深拷貝和淺拷貝 相等性判斷 正確輸出內容 從ascii描述解析等等 5 不要把實現細節 例如放置共用 的私有函式 放...
物件導向設計的重要原則 SOLID
solid是物件導向設計5大重要原則的首字母縮寫 1 單一職責原則 srp 2 開放封閉原則 ocp 3 黎克特制替換原則 lsp 4 介面隔離原則 isp 5 依賴倒置原則 dip 下面具體解釋一下每個原則 1 單一職責原則 srp 表明乙個類只有乙個職責,乙個類就像容器一樣。它能新增任意數量的屬...
物件導向設計的幾條經驗準則
這段時間在看arthur j.riel的 object oriented design heuristics 於是參考總結了如下的幾條物件導向設計原則 所有資料都應隱藏在它所在類的內部。類的使用者必須依賴類的公有介面,但類不能依賴它的使用者。儘量減少類的協議中的訊息。實現所有類都理解的最基本的公有介...