JavaFX SimpleObjectProperty<T> против SimpleTProperty

Какая разница между использованием

SimpleStringProperty против SimpleObjectProperty или

SimpleIntegerProperty против SimpleObjectProperty

Помимо возвращающихся оберток и не примитивных типов?(Это может быть автоматически приведено в любом случае)

1 ответ

Решение

API добавляет дополнительную функциональность для определенных типов. Так ObjectProperty на самом деле просто определяет API как "свойство" и может определять только функциональные возможности, общие для всех возможных типов. С другой стороны, StringProperty определяет (через свой суперкласс StringExpression) такие методы, как concat(...) который возвращает другой ObservableValue<String> которое является текущим значением, связанным с предоставленным значением. Так же, IntegerProperty определяет числовую функциональность, такую ​​как add, divide и т. д.

Таким образом, конкретные типы просто добавляют дополнительную функциональность к более общему типу, который специфичен для этих типов. Это просто стандартное использование наследования.

(Обратите внимание, что IntegerProperty не реализует Property<Integer> это реализует Property<Number>.)

Другие вопросы по тегам