1. 程式人生 > >類設計技巧

類設計技巧

訪問 國際 我們 出現 員工 ddr 默認 都是 修改器

一定要保證數據私有

數據私有時不影響類的使用者;發生了BUG也易於追蹤調試。

一定要對數據進行初始化

實例化對象時盡管有默認值,但是我們還是要對數據進行顯式初始化。可以在定義時進行默認值初始化,也可以在所有構造器中進行初始化。

不要在類中使用過多的基本數據類型

用一個類代替多個相關的基本類型,更易於理解和擴展。例如類中有以下幾個基本類型:城市、街道、門牌、郵編,都是和地址相關的,我們可以用一個“地址”類代替。這樣易於理解,也便於以後地址的擴展和修改。例如處理一個國際化地址。

不是所有的域都需要域訪問器和修改器。

有些域是實例化後禁止更改的,例如員工入職後,入職時間是禁止更改的。有些域不希望用戶看到,例如部門ID。

將職責過多的類進行分解

如果明顯可以將一個類拆分為兩個更為簡單的類,那就進行拆分。

類名和方法名要能體現它們的職責

類名的良好習慣是采用一個名詞(Order)、前面有形容詞修飾的名詞(RushOrder)、或動名詞(有“ -ing” 後綴)修飾名詞(例如, BillingAddress )。
對於方法來說,習慣在訪問器前面加get,在更改器前面加set。

優先使用不可變的類。

有的類調用其方法更改,會返回一個新的對象,就是不可變的類。例如java中LocalDate。而有些類的方法可以修改其內部數據,這樣的類就是可變的。
如果類對象是可變的,在進行多線程變成的時候,多個線程同時訪問一個對象,則會出現不可控的情況。

類設計技巧