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版)
下一篇:
高频面试题-设计模式
