【发布时间】:2015-08-28 20:11:14
【问题描述】:
public abstract class AdicionalesCpd extends Cpd{
public abstract int getCpu();
public abstract int getRam();
public abstract int getDisco();
public abstract String getCadena();}
这是我的装饰器模式的抽象类,我在编译时遇到了这个问题:
**错误:Cpu 不是抽象的,并且没有覆盖 AdicionalesCpd 中的抽象方法 getCadena()
公共类 Cpu 扩展 AdicionalesCpd{ ** 不知道为什么不覆盖方法“getCpu”
这是我的 Cpu 类,它是模式中的“装饰”
public class Cpu extends AdicionalesCpd{
Cpd cpd;
int var;
public Cpu(Cpd cpd,int var)
{
this.cpd=cpd;
this.var=var;
}
@Override
public int getCpu() {
return cpd.getCpu()+var;
}
}
【问题讨论】:
-
它确实覆盖
getCpu- 它不会覆盖getCadena,就像错误消息中所说的那样......你需要覆盖all i> 抽象方法... -
你需要实现抽象类中的所有方法。
标签: java design-patterns overriding decorator