Использование SimpleProperties - PullRequest
       2

Использование SimpleProperties

0 голосов
/ 21 декабря 2018

Использование свойств в приложении Java FX Я пришел к вопросу о понимании использования свойств: какова практическая разница в использовании члена экземпляра класса ... Свойство против Simple ... Свойство?

public class Foo {

    private IntegerProperty id;

    public Foo(int id) {
        this.id = new SimpleIntegerProperty(id);
    }

    public IntegerProperty idProperty() {
        return this.id;
    }

    public int getId() {
        return id.get();
    }

    public void setId(int id) {
         this.id.set(id);
    }
}

против

public class Foo {

    private SimpleIntegerProperty id;

    public Foo(int id) {
        this.id = new SimpleIntegerProperty(id);
    }

   public SimpleIntegerProperty idProperty() {
       return this.id;
   }

   public int getId() {
       return id.get();
   }

    public void setId(int id) {
       this.id.set(id);
   }
}

1 Ответ

0 голосов
/ 22 декабря 2018

Ваша первая реализация действительно хорошая.

Вы обязательно должны использовать наиболее абстрактный тип (IntegerProperty в вашем случае) везде, где можете.

Основная причина в том, что он позволяет вамизменить реализацию без необходимости изменения прототипа / определения ваших методов, и, следовательно, нет необходимости изменять любого вызывающего.

Подумайте о той же ситуации с Set и переходом от конкретного типа HashSet к LinkedHashSet.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...