/**
* @author jifang
* @since 16/8/28 下午4:22.
*/
public abstract class Country {
protected UnitedNations mediator;
private String name;
public Country(UnitedNations mediator, String name) {
this.mediator = mediator;
this.name = name;
}
public String getName() {
return name;
}
protected abstract void declare(String msg);
protected abstract void receive(String msg);
}
class USA extends Country {
public USA(UnitedNations mediator, String name) {
super(mediator, name);
}
@Override
public void declare(String msg) {
mediator.declare(this, msg);
}
@Override
public void receive(String msg) {
System.out.println("美国接收到: [" + msg + "]");
}
}
class Iraq extends Country {
public Iraq(UnitedNations mediator, String name) {
super(mediator, name);
}
@Override
public void declare(String msg) {
mediator.declare(this, msg);
}
@Override
public void receive(String msg) {
System.out.println("伊拉克接收到: [" + msg + "]");
}
}
class China extends Country {
public China(UnitedNations mediator, String name) {
super(mediator, name);
}
@Override
public void declare(String msg) {
mediator.declare(this, msg);
}
@Override
public void receive(String msg) {
System.out.println("中国接收到: [" + msg + "]");
}
}
public abstract class UnitedNations {
protected List<Country> countries = new LinkedList<>();
public void register(Country country) {
countries.add(country);
}
public void remove(Country country) {
countries.remove(country);
}
protected abstract void declare(Country country, String msg);
}
class UnitedNationsSecurityCouncil extends UnitedNations {
/**
* 安理会在中间作出调停
*
* @param country
* @param msg
*/
@Override
protected void declare(Country country, String msg) {
for (Country toCountry : countries) {
if (!toCountry.equals(country)) {
String name = country.getName();
toCountry.receive(name + "平和的说: " + msg);
}
}
}
}
public class Client {
@Test
public void client() {
UnitedNations mediator = new UnitedNationsSecurityCouncil();
Country usa = new USA(mediator, "美国");
Country china = new China(mediator, "中国");
Country iraq = new Iraq(mediator, "伊拉克");
mediator.register(usa);
mediator.register(china);
mediator.register(iraq);
usa.declare("我要打伊拉克, 谁管我跟谁急!!!");
System.out.println("----------");
china.declare("我们强烈谴责!!!");
System.out.println("----------");
iraq.declare("来呀, 来互相伤害呀!!!");
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有