类设计技巧
一定要保證數據私有
數據私有時不影響類的使用者;發生了BUG也易于追蹤調試。
一定要對數據進行初始化
實例化對象時盡管有默認值,但是我們還是要對數據進行顯式初始化。可以在定義時進行默認值初始化,也可以在所有構造器中進行初始化。
不要在類中使用過多的基本數據類型
用一個類代替多個相關的基本類型,更易于理解和擴展。例如類中有以下幾個基本類型:城市、街道、門牌、郵編,都是和地址相關的,我們可以用一個“地址”類代替。這樣易于理解,也便于以后地址的擴展和修改。例如處理一個國際化地址。
不是所有的域都需要域訪問器和修改器。
有些域是實例化后禁止更改的,例如員工入職后,入職時間是禁止更改的。有些域不希望用戶看到,例如部門ID。
將職責過多的類進行分解
如果明顯可以將一個類拆分為兩個更為簡單的類,那就進行拆分。
類名和方法名要能體現它們的職責
類名的良好習慣是采用一個名詞(Order)、前面有形容詞修飾的名詞(RushOrder)、或動名詞(有“ -ing” 后綴)修飾名詞(例如, BillingAddress )。
對于方法來說,習慣在訪問器前面加get,在更改器前面加set。
優先使用不可變的類。
有的類調用其方法更改,會返回一個新的對象,就是不可變的類。例如java中LocalDate。而有些類的方法可以修改其內部數據,這樣的類就是可變的。
如果類對象是可變的,在進行多線程變成的時候,多個線程同時訪問一個對象,則會出現不可控的情況。
轉載于:https://www.cnblogs.com/limp/p/9054881.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
- 上一篇: 为啥腾讯元宝要进行安全漏洞扫描?
- 下一篇: 数据结构50:二分查找法(折半查找法)