dre*_*dre 4 java oop setter getter-setter
考虑一下Java中的Message对象,该对象存储一些文本。
public class Message {
private String text;
private boolean containsDigit;
public Message() {
//constructor
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
public boolean isContainsDigit() {
return containsDigit;
}
}
Run Code Online (Sandbox Code Playgroud)
这是一个持久的对象。
我在构造函数中设置数据没有问题,但是可以在创建对象之后设置消息的文本字段,并且在设置文本时,此后还可以对containsDigit字段进行查询。显而易见的方法是在设置器中:
public void setText(String text) {
// presume existence of method to check for digit
if(text.containsDigit())
this.containsDigit = true;
this.text = text;
}
Run Code Online (Sandbox Code Playgroud)
但这是否会由于setter方法中的逻辑而导致任何“最佳实践”警报响起?
有人会建议替代实施吗?
编辑
我可能应该补充一点,该containsDigit
字段是必需的,因为该对象是持久性的,因此containsDigit
可以随后查询该字段。另外,在使用Spring / Hibernate引擎的应用程序中,在重新读取/写入对象时会不断调用此setter,因此也想知道这样做的实用性/效率。