使用类方法调用一个方法,我希望确保该getAverage
方法是setAverage
方法之前一直被称为爪哇 - 之前另一
如果setAverage
首先被调用,它应该返回一个错误。
我很困惑如何在get之前检查set是否被调用。
使用类方法调用一个方法,我希望确保该getAverage
方法是setAverage
方法之前一直被称为爪哇 - 之前另一
如果setAverage
首先被调用,它应该返回一个错误。
我很困惑如何在get之前检查set是否被调用。
如果getAverable返回一个非原始对象,则可以检查该值是否为空。
如果您返回原始值,如整数,您可以使用布尔值来检查是否调用了setMethod。
class Name {
int value;
boolean isCalled;
public int getValue() {
if(isCalled == false) {
throw new Exception();
}
else {
return value;
}
}
public void setValue(int value) {
isCalled = true;
this.value = value;
}
}
这样做没有直接的Java支持。当然,你可以直接在方法中实现一些记忆哪个方法按哪个顺序执行的算法。更好的方法是使用面向方面的编程。
要做你想做的事情的最简单的方法是编写一个方面,它写入一个布尔值,执行getter并只允许在布尔标志为true的情况下执行setter。
当然,这只是第一步,很容易出错。 (并发,重复等)
(我在我的硕士论文期间编写了这样一个框架,当然,这比仅检查单个顺序方法调用复杂一点。)