Co to jest domyślny konstruktor?

Domyślny konstruktor to wyspecjalizowana metoda, która tworzy i inicjuje obiekt w programowaniu zorientowanym na obiekty. 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 obiektowe, domyślne konstruktory w podklasach muszą być dokładnie podłączone do konstruktorów w superklasach. Konstruktory podklasy zawsze muszą wywoływać konstruktory superklasy przed zrobieniem czegoś specyficznego dla podklasy. In W niektórych językach, takich jak Java®, konstruktor podklasowy domyślnie wywołuje domyślny konstruktor Nullary Superclass. Jeśli domyślny konstruktor zerowy nie istnieje, obiekt podklasy nie może być prawidłowo zbudowany. 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ę, że zmniejszając liczbę metod, które programista musi określać i dokumentować, ale ma również wadę utrudniającą 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 programista przylegania do jednej z tych metod programowania, więc w tym defAult Nulary Constructor 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ć, podobnie jak każdy inny konstruktor lub metoda.

Każdy domyślny konstruktor może mieć do niego dołączone modyfikatory dostępu, dzięki czemu konstruktor jest publiczny, chroniony lub prywatny. 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, w których dostępna jest pewna metoda fabryczna, a nie programista.

INNE JĘZYKI