Skip to main content

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ů konstruktérů, ale výchozí konstruktor musí kromě vytváření a inicializace objektu splňovat jedno ze dvou konkrétních kritérií.Musí buď mít žádné parametry, v takovém případě může být také nazýván nulový konstruktor, nebo musí přiřadit výchozí hodnoty všem parametrům, které má schopnost nastavit.Některé počítačové jazyky implicitně určují výchozí nulový konstruktér, pokud programátor vůbec nezadavatele nestanoví.Jakmile je napsán jakýkoli typ konstruktoru, výchozí nulový konstruktor již není specifikován a musí být v případě potřeby explicitně napsán.Konstruktory podtřídy musí vždy volat konstruktéry superclass, než udělají něco konkrétního pro podtřídu.V některých jazycích, jako je Java , konstruktor podtřídy implicitně volá výchozí nulový konstruktér superclass.Pokud výchozí výchozí konstruktér superclass neexistuje, objekt podtřídy nelze správně vytvořit.Podtřídy mohou v tomto případě mít stále jeden typ výchozího konstruktoru, ale dostupný konstruktor super třídy musí být volán správně, možná předáním výchozích hodnot jedinečných pro podtřídu.Počet metod musí programátor specifikovat a dokumentovat, ale má také nevýhodu, že ztěžuje údržbu a porozumění kódu.Někteří programátoři považují opomenutí výchozího konstruktoru za špatnou praxi, zatímco jiní ne.Neexistuje nic, co by zabránilo jednotlivému programátorovi dodržovat jednu z těchto programovacích metod, takže včetně výchozího nulového konstruktoru v kódu je do značné míry stylistickou volbou na straně programátora.Pokud je konstruktor zahrnut, většina myšlenkových škol diktuje, že by měl být komentován a zdokumentován stejně jako by byl jakýkoli jiný konstruktor nebo metoda..To dává konstruktorům specifické schopnosti založené na třídě, ve které je specifikována.Veřejný výchozí konstruktor lze použít k vytvoření nového objektu z jiné třídy, zatímco chráněný konstruktor lze volat pouze z vlastní třídy a jakékoli podtřídy.Chráněné výchozí konstruktory jsou často vidět v hierarchii dědictví.Soukromé konstruktéry se obvykle používají pouze v samostatných třídách, kde je k dispozici nějaký typ tovární metody, nikoli programátor.