Alternatywą w takim przypadku jest zastosowanie konstruktora uniwersalnego (który przyjmuje wszystkie możliwe parametry):

Pozyczka(wartosc) { this(wartosc, null, null); }

Pozyczka(wartosc, oprocentowanie) { this(wartosc, oprocentowanie, null); }

Pozyczka(wartosc, oprocentowanie, czasSplaty) { this.wartosc = wartosc; this.oprocentowanie = oprocentowanie; this.czasSplaty = czasSplaty; }

Zastosowanie tych metod pozwala na ustalenie jednego miejsca przypisania wartości parametrów do pól. W takim przypadku konieczne jest wychwytywanie wszystkich możliwych zerowych wartości parametrów (tzw. null pointerów), albo zdefiniowanie i użycie wartości domyślnych.

Zobacz też

Gnicie oprogramowania Zapachy kodu

Przypisy

Linki zewnętrzne Strona Martina Fowlera na temat refaktoryzacji Martin Fowler - Software Design in the 21st Century prelekcja Martina Fowlera na temat refaktoryzacji z przykładami

Kategoria:Inżynieria oprogramowania