Co je výchozí konstruktor?

Výchozí konstruktor je specializovaná metoda, která vytváří a inicializuje objekt v objektově orientovaném programování. Existuje několik druhů konstruktorů, ale výchozí konstruktor musí kromě vytvoření a inicializace objektu splňovat jedno ze dvou specifických kritérií. Nesmí mít žádné parametry, v takovém případě by se mohl také nazývat konstruktér nula, nebo musí všem parametrům, které má schopnost nastavit, přiřadit výchozí hodnoty. Některé programovací jazyky implicitně určují výchozí nulový konstruktor, pokud programátor konstruktor vůbec neurčí. Jakmile je zapsán jakýkoli typ konstruktoru, výchozí konstruktor nullary již není specifikován a musí být v případě potřeby výslovně zapsán.

U počítačových jazyků, které umožňují dědičnost orientovanou na objekt, musí být výchozí konstruktéři v podtřídách přesně spojeni s konstruktory v nadtriedách. Konstruktéři podtřídy musí vždy zavolat konstruktéry supertřídy, než učiní něco specifického pro podtřídu. V některých jazycích, jako je Java®, konstruktér podtřídy implicitně volá výchozí konstruktor nululárních konstruktérů. Pokud neexistuje výchozí konstruktor nullary nadřazené třídy, objekt podtřídy nelze správně sestavit. Podtřídy mohou mít v tomto případě stále jakýkoli typ výchozího konstruktoru, ale dostupný konstruktér nadtřídy musí být volán správně, například předáním výchozích hodnot jedinečných pro podtřídu.

Implicitní generování implicitního nulového konstruktoru má výhodu v tom, že snižuje počet metod, které musí programátor specifikovat a dokumentovat, ale má také tu nevýhodu, že ztěžuje údržbu a porozumění kódu. Někteří programátoři považují vynechání výchozího konstruktoru za špatnou praxi, zatímco jiní ne. Neexistuje nic, co by jednotlivému programátorovi bránilo v tom, aby se držel některé z těchto metod programování, takže zahrnutí výchozího konstruktoru s nulovým číslem do kódu je z velké části stylovou volbou ze strany programátora. Je-li konstruktér zahrnut, většina myšlenkových škol diktuje, že by měl být komentován a dokumentován stejně jako jakýkoli jiný konstruktér nebo metoda.

K libovolnému výchozímu konstruktoru mohou být připojeny modifikátory přístupu, čímž je konstruktor veřejný, chráněný nebo soukromý. To dává konstruktérovi specifické schopnosti na základě třídy, ve které je specifikován. Veřejný výchozí konstruktor lze použít k vytvoření nového objektu z jiné třídy, zatímco chráněného konstruktoru lze volat pouze z jeho vlastní třídy a všech podtříd. Chráněné výchozí konstruktory jsou často vidět v hierarchii dědičnosti. Soukromí konstruktéři jsou obvykle zaměstnáni pouze v samostatných třídách, kde je k dispozici nějaký typ tovární metody, který se nazývá, nikoli programátor.

JINÉ JAZYKY

Pomohl vám tento článek? Děkuji za zpětnou vazbu Děkuji za zpětnou vazbu

Jak můžeme pomoci? Jak můžeme pomoci?