Tworzenie łańcucha konstruktorów Stosowanie łańcucha konstruktorów jako metody refaktoryzacyjnej jest wskazane w typowych przypadkach nadmiarowości kodu w klasach o wielu konstruktorach, które nadpisują po sobie kod. Sztandarowym przykładem takiej sytuacji jest przypisywanie wartości parametrów do pól w każdym konstruktorze klasy:

Pozyczka(wartosc) { this.wartosc = wartosc; }

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

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

Można zauważyć, że zamiast każdorazowego przypisywania wartości można utworzyć tzw. łańcuch, który pozwoli na uproszczenie kodu:

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

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

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

W przypadku, gdy łańcuch konstruktorów jest długi, kolejne wywołania mogą okazać się mało wydajne.