访问者实例1
public interface Visitor {
public interface Visitor {
void visitPersonalCustomer(PersonalCustomer customer);
void visitEnterpriseCustomer(EnterpriseCustomer customer);
}public abstract class Customer{
public abstract void accept(Visitor visitor);
}//个人客户
public class PersonalCustomer extends Customer {
private String name;
private int age;
... 省略getter setter...
@Override
public void accept(Visitor visitor) {
visitor.visitPersonalCustomer(this);
}
}
//企业用户
public class EnterpriseCustomer extends Customer {
private String name;
private String address;
... 省略getter setter...
@Override
public void accept(Visitor visitor) {
visitor.visitEnterpriseCustomer(this);
}
}Last updated