我正在爲具有顏色的汽車建模。 我想確保顏色是有效的。所以我在Car類中創建了一個嵌套枚舉,它將保存有效的顏色。我想了解這個想法:確保施工前或施工時對象的有效性
- 應該怎樣創造一輛汽車?
- 暴露枚舉。並在構造函數期望一個枚舉值。這確保了有效的顏色。
- 枚舉是我的!我班的用戶不需要知道它!我會讓他給我一個字符串,我將解析任何枚舉值。如果它不是有效的,我會拋出一個異常
我與暴露更傾向於。我有什麼理由不喜歡這樣做嗎?例如,可能使用戶創建汽車實例時過度複雜? (儘管我猜他會比運行時異常更喜歡這個)。
你說什麼?
你認爲實現枚舉作爲一個獨立的類的什麼?它目前只是該車的一個特色,但它也可能被其他類使用。而一種顏色本身並不是如此的汽車...... –