下面是代码,也算是自己学习的时候做的笔记:
public class MediatorPattern {
public static void main(String[] args) {
AbsColleague colleagueA = new ColleagueA();
AbsColleague colleagueB = new ColleagueB();
colleagueA.setX(400);
MediatorClass mediatorClass=new MediatorClass(colleagueA, colleagueB);
mediatorClass.setNumb();
System.out.println("colleagueB中x的值为:"+colleagueB.getX());
}
}
class MediatorClass{
AbsColleague a,b;
public MediatorClass(AbsColleague a, AbsColleague b) {
this.a = a;
this.b = b;
}
public void setNumb() {
b.setX(a.getX()*100);
}
}
abstract class AbsColleague{
protected int x;
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public abstract void setNumb(int x,MediatorClass mediator);
}
class ColleagueA extends AbsColleague {
@Override
public void setNumb(int x, MediatorClass mediator) {
super.x = x;
}
}
class ColleagueB extends AbsColleague {
@Override
public void setNumb(int x, MediatorClass mediator) {
super.x=x;
}
}
public class MediatorPattern { public static void main(String[] args) { AbsColleague colleagueA = new ColleagueA(); AbsColleague colleagueB = new ColleagueB(); colleagueA.setX(400); MediatorClass mediatorClass=new MediatorClass(colleagueA, colleagueB); mediatorClass.setNumb(); System.out.println("colleagueB中x的值为:"+colleagueB.getX()); }}class MediatorClass{ AbsColleague a,b; public MediatorClass(AbsColleague a, AbsColleague b) { this.a = a; this.b = b; } public void setNumb() { b.setX(a.getX()*100); }}abstract class AbsColleague{ protected int x; public int getX() { return x; } public void setX(int x) { this.x = x; } public abstract void setNumb(int x,MediatorClass mediator); }class ColleagueA extends AbsColleague { @Override public void setNumb(int x, MediatorClass mediator) { super.x = x; }}class ColleagueB extends AbsColleague { @Override public void setNumb(int x, MediatorClass mediator) { super.x=x; }}