在这里,AsciiChecker以文本形式启用矩阵规范。
abstract class AsciiChecker extends AlgoritmicChecker {
String[] ascii;
AsciiChecker(String title, final String ... ascii) {
super(title, ascii[0].length(), ascii.length); // calls isCovered
};
boolean isCovered(int test, int statement) {
return ascii[statement].charAt(test) == '1';
}
}它需要矩阵参数在isCovered调用中可用。告诉我,如果我在使用它之前初始化了场,我该如何拍摄我的腿。
AsciiChecker(String title, final String ... ascii) {
this.ascii = ascii;
super(title, ascii[0].length(), ascii.length); // calls isCovered
};发布于 2013-10-24 21:11:55
如果您的超类正在使用数组中的数据,请将String[] ascii;拉到超类中,在那里初始化该字段,并在isCovered中通过getter或修改isCovered的签名来访问它,并将适当的数组作为参数传递。
发布于 2013-10-25 22:20:57
您需要在超类中删除对可重写方法的调用。
将每个可重写方法的主体移动到一个私有“辅助方法”中,并让每个可重写方法调用其私有辅助方法。然后用直接调用可重写方法的私有帮助器方法替换可重写方法的每个自用方法。
https://stackoverflow.com/questions/19566631
复制相似问题