interface Parent{
void process();
}
class Child1 implements Parent{
void process(){
//process by method 1
}
}
class Child2 implements Parent{
void process(){
//process by method 2
}
}
class DummyChild implements Parent{
void process(){
//do nothing
}
}
class D {
Parent getObj(){
if(condition1){
return new Child1();
}
else if(condition2){
return new Child2();
}
else
return new DummyChild();
}
public static void main(String[] args){
Parent obj = getObj();
obj.process();
}
}
在上面的代码中,我创建了一个 DummyChild 类,这样每当调用 getObj() 以获取正确的类对象时,我不会返回 NULL,而是返回 dummyClass 对象(单例)。这消除了我的代码中的 NULL 检查,从而消除了由于这种情况而产生的分支。
这是使用 NULL 对象模式的正确位置还是应该使用 NULL 方法?