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