代碼中經常會出現枚舉性的變量,比如血型、性別之類。以血型為例:
如果要給一個person的實例設置血型,代碼如此:person.setBlood(Blood.A);這個寫法的代碼中,setBlood的參數為整型,如果如此調用person.setBlood(9);編譯器無法發現錯誤,只能靠人為控制,如果在方法setBlood中檢測參數的有效性,又超越了該方法的職責。
重構后的代碼如下:
如此,(1)隱藏了血型的編碼細節????????????(2)方便編譯期間發現錯誤??????????? (3)避免使用超越數據范圍的參數
Powered by: BlogJava Copyright © JavaExplore