類的設(shè)計技巧
1.一定要保證數(shù)據(jù)私有
2.一定要對數(shù)據(jù)初始化
3.不要在類中使用過多的基本類型
4.不是所有的域都需要獨(dú)立的域訪問器和域更改器
5.將職責(zé)過多的類進(jìn)行分解
6.類名和方法名要能夠體現(xiàn)他們的職責(zé)
7.優(yōu)先使用不可變更的類
繼承設(shè)計技巧
- 將公共操作和域放在父類
- 不再使用受保護(hù)的域
- 使用繼承實(shí)現(xiàn)“is-a” 關(guān)系
- 除非所有的方法都有意義,否則不要使用繼承
- 在覆蓋方法時,不要改變預(yù)期的行為
- 使用多態(tài),而非類型信息
- 不要過多的使用反射
類之間的關(guān)系
- 依賴(uses-a)
- 聚合(has-a)
- 繼承(is-a)
依賴(dependence)
依賴是最明顯、最常見的一種關(guān)系。
如果一個類的方法操縱另一個類的對象,我們就可以說一個類依賴另一個類。
應(yīng)該盡可能的減少依賴關(guān)系,從軟件工程的角度來講,就是讓類之間的耦合度最小。
在A的方法把B作為參數(shù)類型進(jìn)行傳參?
聚合(aggregation)
即”has-a“關(guān)系,聚合意味著類A對象包含著類B的對象。
繼承(inheritance)
即“is-a”關(guān)系。繼承就是類A的拓展類B,但類B不但包含類A的方法而且還會多出一些功能。