1 空对象模式
2 代码实现。
import javax.sound.midi.Soundbank;
abstract class Customer{
protected String name;
abstract boolean isNull();
abstract String getName();
}
class RealCustomer extends Customer{
public RealCustomer(String name) {
this.name = name;
}
@Override
boolean isNull() {
return false;
}
@Override
String getName() {
return name;
}
}
class NullCustomer extends Customer{
@Override
boolean isNull() {
return true;
}
@Override
String getName() {
return "no this Customer";
}
}
class CustomerFactory{
private static final String[] names = {"zhangSan", "liSi", "wangWu"};
public static Customer getCustomer(String name){
for (String local : names){
if (local.equals(name)){
return new RealCustomer(name);
}
}
return new NullCustomer();
}
}
public class Test{
public static void main(String[] args){
Customer zhangsan = CustomerFactory.getCustomer("zhangSan");
Customer shenLiu = CustomerFactory.getCustomer("shenLiu");
System.out.println(zhangsan.getName());
System.out.println(shenLiu.getName());
}
}