java设计模式具体应用-(责任链模式)
废话不多说,直接上代码
public void contextLoads() throws Exception { ProjectAudit projectAudit = new ProjectAudit(); //创建链表 FinanceAudit financeAudit = new FinanceAudit(); BossAudit bossAudit = new BossAudit(); projectAudit.setSuccessor(financeAudit); financeAudit.setSuccessor(bossAudit); projectAudit.auditHandler(); //由链表头开始遍历 } public abstract class Audit{ //抽象类 protected Audit successor; //可被继承者使用 public void setSuccessor(Audit obj){ successor=obj;} public Audit getSuccessor(){ return this.successor; } public abstract void auditHandler(); //抽象方法 } public class ProjectAudit extends Audit{ @Override public void auditHandler() { if(getSuccessor()!=null){ System.out.println("pass ProjectAudit to successor"); getSuccessor().auditHandler(); }else{ System.out.println("ProjectAudit"); } } } public class FinanceAudit extends Audit{ @Override public void auditHandler() { if(getSuccessor()!=null){ System.out.println("pass FinanceAudit to successor"); getSuccessor().auditHandler(); }else{ System.out.println("FinanceAudit"); } } } public class BossAudit extends Audit{ @Override public void auditHandler() { if(getSuccessor()!=null){ System.out.println("pass BossAudit to successor"); getSuccessor().auditHandler(); }else{ System.out.println("BossAudit"); } } }
上一篇:
Java基础知识总结(2021版)
下一篇:
高频面试题-设计模式