public abstract class AbstractCustomer { protected String name; public abstract boolean isNil(); public abstract String getName(); }
2.2 步骤 2
创建扩展了上述类的实体类。 RealCustomer.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
public class RealCustomer extends AbstractCustomer {
public RealCustomer(String name) { this.name = name; }
@Override public boolean isNil() { return false; }
@Override public String getName() { return name; } }
NullCustomer.java
1 2 3 4 5 6 7 8 9 10 11
public class NullCustomer extends AbstractCustomer { @Override public boolean isNil() { return true; }
@Override public String getName() { return "Not Available in Customer Database"; } }
2.3 步骤 3
创建 CustomerFactory 类。 CustomerFactory.java
1 2 3 4 5 6 7 8 9 10 11 12 13
public class CustomerFactory {
public static final String[] names = {"Rob", "Joe", "Julie"};
public static AbstractCustomer getCustomer(String name){ for (int i = 0; i < names.length; i++) { if (names[i].equalsIgnoreCase(name)){ return new RealCustomer(name); } } return new NullCustomer(); } }