设计模式
策略者模式 Strategy ——— 行为型模式
用来解决 执行流程固定 执行结果由于提供不同策略而不同
银行类
profession(人){ 人----抽象类 接口(不能产生对象) 传递一个子类对象
欢迎用户进来
叫号
办理
离开
欢迎您下次再来
}
长者 年轻人 vip
//按普通设计 可能有问题
1.三个不同的人类方法名不一致(可以)
2.银行办理业务的方法写了3个
//解决上诉所述问题可以在三个人之上创建一个父类
1.解决桑个人类中相同代码 比如name属性 比如get方法之类
2.父类定义的三个方法可以是抽象类 解决了子类命名不一致问题 子类执行也不一致
3.父类可以作为参数传入银行
//主函数
public static void main (String[] args){
Bank bank = new bank ();
Person p = new Oldman(长者); //父类作为参数
bank profession(p);//银行欢迎长者来办理业务 调的是子类对象
}
//银行三个方法写成一个
public class Bank{
//开门 等待用户进来办理业务
public void profession(Person person){
System.out,println(person.getName()+"客户进入银行啦")
person.callNumber();
person.transact();
person.leave();
}
//抽象类
public abstract class Person{
protected String name;
public String getName(){
return this.name;
}
//1.进银行叫号
public abstract void callNumaber();
//2.去窗口办理
public abstract void transact();
//3.办理完毕离开啦
public abstract void leave();
}