代碼中經(jīng)常會(huì)出現(xiàn)枚舉性的變量,比如血型、性別之類。以血型為例:
如果要給一個(gè)person的實(shí)例設(shè)置血型,代碼如此:person.setBlood(Blood.A);這個(gè)寫法的代碼中,setBlood的參數(shù)為整型,如果如此調(diào)用person.setBlood(9);編譯器無(wú)法發(fā)現(xiàn)錯(cuò)誤,只能靠人為控制,如果在方法setBlood中檢測(cè)參數(shù)的有效性,又超越了該方法的職責(zé)。
重構(gòu)后的代碼如下:
如此,(1)隱藏了血型的編碼細(xì)節(jié)????????????(2)方便編譯期間發(fā)現(xiàn)錯(cuò)誤??????????? (3)避免使用超越數(shù)據(jù)范圍的參數(shù)
Powered by: BlogJava Copyright © JavaExplore