行为型设计模式_责任链模式

一、建抽象类

public abstract class Handler {

	private Handler next;

	public Handler getNext() {
		return next;
	}

	public Handler setNext(Handler next) {
		 this.next = next;
		 return this;
	}
	public abstract void handle(int days);
}

二、建子类

public  class TeamLeader extends Handler{

	@Override
	public void handle(int day) {
		System.out.println("小组长:同意请假申请!");
		if(day>7) {
			getNext().handle(day);
		}
	}
}
public class PM extends Handler{

	@Override
	public void handle(int days) {
		System.out.println("项目经理:请假申请通过!");
		if(days>10) {
			getNext().handle(days);
		}
	}

}
public class Leader extends Handler {

	@Override
	public void handle(int days) {
		System.out.println("总经理:批准了请假申请!");
	}

}

三、测试类

public class Test {

	public static void main(String[] args) {
		Handler handler = new TeamLeader().setNext(new PM().setNext(new Leader()));
		System.out.println("请假五天需要请示的人:");
		handler.handle(5);
		System.out.println("--------------------");
		System.out.println("请假八天需要请示的人:");
		handler.handle(8);
		System.out.println("--------------------");
		System.out.println("请假十天需要请示的人:");
		handler.handle(11);
	}

}

四、运行结果

发布了74 篇原创文章 · 获赞 32 · 访问量 9979

猜你喜欢

转载自blog.csdn.net/qq_41629684/article/details/104349350