abstract class Soup {
public Soup pre = null;
public Integer cost = null;
public Soup(Soup pre, Integer cost) {
super();
this.pre = pre;
this.cost = cost;
}
public int pay() {
int ans = cost;
if (pre != null) {
ans += pre.pay();
}
return ans;
}
}
class BeafSoup extends Soup {
public BeafSoup(Soup pre, Integer cost) {
super(pre, cost);
}
}
class GreenSoup extends Soup {
public GreenSoup(Soup pre, Integer cost) {
super(pre, cost);
}
}
class Noodle {
Soup soup = null;
public Soup getSoup() {
return soup;
}
public void setSoup(Soup soup) {
this.soup = soup;
}
public int cost() {
if (soup == null) {
return 0;
} else {
return soup.pay();
}
}
}
public class Main {
public static void main(String[] args) {
Noodle noodle = new Noodle();
Soup soup = new GreenSoup(new BeafSoup(null, 100), 200);
noodle.setSoup(soup);
System.out.println(noodle.cost());
}
}
装饰模式
最新推荐文章于 2024-05-29 20:23:07 发布