我熟悉Java,但刚刚开始学习JavaFX,并专门了解JavaFX属性.我理解Oracle的以下示例中显示的基本设计模式:
package propertydemo;
import javafx.beans.property.DoubleProperty;
import javafx.beans.property.SimpleDoubleProperty;
class Bill {
// Define a variable to store the property
private DoubleProperty amountDue = new SimpleDoubleProperty();
// Define a getter for the property's value
public final double getAmountDue(){return amountDue.get();}
// Define a setter for the property's value
public final void setAmountDue(double value){amountDue.set(value);}
// Define a getter for the property itself
public DoubleProperty amountDueProperty() {return amountDue;}
}
Run Code Online (Sandbox Code Playgroud)
我不明白的是何时/为什么我会使用getter和setter方法,而不是直接使用Property?
我在想的是你可能想要一些getter和/或setter中的自定义代码,它们可以对数据进行一些操作前/操作/验证,但是如果你创建一个自定义的getter和/或setter,你会得到不同的结果那么,取决于你是否直接使用getter/setter或属性,对我来说,这看起来很危险.
如果getter/setter只是调用Property的get和set方法,那么为什么要使用它们呢?
任何有关这方面的见解将不胜感激.