代码中经常会出现枚举性的变量,比如血型、性别之类。以血型为例:
如果要给一个person的实例设置血型,代码如此:person.setBlood(Blood.A);这个写法的代码中,setBlood的参数为整型,如果如此调用person.setBlood(9);编译器无法发现错误,只能靠人为控制,如果在方法setBlood中检测参数的有效性,又超越了该方法的职责。
重构后的代码如下:
如此,(1)隐藏了血型的编码细节 (2)方便编译期间发现错误 (3)避免使用超越数据范围的参数
Powered by: BlogJava Copyright © JavaExplore