геттеры и сеттеры, выполняющие дополнительную логику

У меня есть класс Java, который представляет корреляцию между двумя элементами (типичный POJO):

public class Correlation {

    private final String a;
    private final String b;

    private double correlation;

    public Correlation(String a, String b) {
        this.a = a;
        this.b = b;
    }

    public double getCorrelation() {
        return correlation;
    }

    public void setCorrelation(double correlation) {
        this.correlation = correlation;
    }

}

Чтобы следовать правильной логике корреляции, если a равно b, тогда значение корреляции должно быть ВСЕГДА 1. {{1 }} Я мог бы добавить логику, изменяющую метод получения (игнорируйте факт возможного нулевого значения для a):

public double getCorrelation() {
    if (a.equals(b)) {
        return 1D;
    } else {
        return correlation;
    }
}

Меня беспокоит добавление этой логики к методу получения, если я изменю имя метода или документирую его. считается достаточно?

22
задан eliocs 31 October 2011 в 14:46
поделиться