我对 OO 设计模式相当陌生,对 Java 也比较陌生。
我的问题是关于 Head First Designer Patterns Starbuzz 示例中的 Decorator 示例。
我无法理解外部包装器如何调用内部包装器,以及具体如何连接这些示例中的描述。
例如:
这是 Mocha 类(装饰):
public class Mocha extends CondimentsDecorator {
Beverage beverage;
public Mocha(Beverage beverage) {
this.beverage = beverage;
}
public String getDescription()
{
return beverage.getDescription() + " , Mocha";
}
public double cost()
{
return .20 + beverage.cost();
}
}
Run Code Online (Sandbox Code Playgroud)
这是饮料类(基础):
public abstract class Beverage {
String description = "Unknown Beverage";
public String getDescription()
{
return description;
}
public abstract double cost();
}
Run Code Online (Sandbox Code Playgroud)
深度烘焙等级: …