Skip to main content

Co to jest domyślny konstruktor?

Domyślny konstruktor to wyspecjalizowana metoda, która tworzy i inicjuje obiekt w programowaniu obiektowym.Istnieje wiele rodzajów konstruktorów, ale domyślny konstruktor musi spełniać jedno z dwóch konkretnych kryteriów, oprócz tworzenia i inicjalizacji obiektu.Musi albo nie mieć parametrów, w takim przypadku można go również nazwać konstruktorem zerowym, albo musi przypisać wartości domyślne do wszystkich parametrów, które ma możliwość ustawienia.Niektóre języki komputerowe domyślnie określają domyślny konstruktor zerowy, jeśli programista w ogóle nie określa konstruktora.Po napisaniu dowolnego rodzaju konstruktora domyślny konstruktor zerowy nie jest już określony i musi być wyraźnie napisany w razie potrzeby.

W przypadku języków komputerowych, które umożliwiają dziedziczenie zorientowane na obiekty, domyślne konstruktory w podklasach muszą być dokładnie podłączone do konstruktorów w nadklasach.Konstruktory podklasy zawsze muszą wywoływać konstruktory superklasy przed zrobieniem czegoś specyficznego dla podklasy.W niektórych językach, takich jak Java , konstruktor podklasy domyślnie wywołuje domyślny konstruktor Nullary Superclass.Jeśli domyślny konstruktor zerowy nie istnieje, nie można prawidłowo zbudować obiektu podklasy.Podklasy mogą nadal mieć dowolny rodzaj domyślnego konstruktora w tym przypadku, ale dostępny konstruktor superklasy musi być wywoływany poprawnie, być może przekazując jego wartości domyślne unikalne dla podklasy.

Niejawne generowanie domyślnego konstruktora zerowego ma tę zaletęLiczba metod, które programista musi określać i dokumentować, ale ma również wadę, co może utrudniać konserwację i zrozumienie kodu.Niektórzy programiści uważają pominięcie domyślnego konstruktora za złą praktykę, podczas gdy inni nie.Nie ma nic, co nie uniemożliwia indywidualnego programatora przylegającego do jednej z tych metod programowania, więc włączenie domyślnego konstruktora zerowego w kodzie jest w dużej mierze wyborem stylistycznym ze strony programatora.Jeśli uwzględniono konstruktor, większość szkół myślenia dyktuje, że należy go komentować i udokumentować, tak jak każdy inny konstruktor lub metoda..Daje to zdolności specyficzne dla konstruktora w oparciu o klasę, w której jest określona.Do utworzenia nowego obiektu z innej klasy można użyć publicznego konstruktora domyślnego, podczas gdy chroniony konstruktor może być wywoływany tylko z własnej klasy i wszelkich podklas.Chronione domyślne konstruktory są często widoczne w hierarchii dziedzictwa.Prywatne konstruktory są zwykle stosowane tylko w samodzielnych klasach, gdzie dostępna jest pewna metoda fabryczna, a nie programista.