Referenční typy - třída
7. Konstruktory
Konstruktor je metoda třídy, pomocí níž vytváříme instance za běhu programu. V konstruktoru jsou inicializovány všechny datové složky, kromě těch, které byly inicializovány přímo v deklaraci datových složek třídy (za běhu programu se vytýčí část paměti operačního systému a zaberou je datovými složkami třídy a poté je zavolán konstruktor). Syntaxe deklarace konstruktoru vypadá následovně:
hlavičkaKonstruktoru inicializátor těloKonstruktoru
kde:
- hlavičkaKonstruktoru - se podobá hlavičce metody a obsahuje modifikátory přístupu kromě modifikátoru sealed nebo abstract! Hlavička nesmí obsahovat datový typ vrácené hodnoty a ani void. Název (identifikátor) konstruktoru je stejný jako název třídy, které náleží, budeme ho tedy vždy značit velkým počátečním písmenem. Pokud je deklarováno více konstruktorů, musí se lišit počtem, typem nebo pořadím typů parametrů – přetížení
- inicializátor - je nepovinný. Inicializátor může mít jednu z následujících podob:
:base(skutečnéParametry)
:this(skutečnéParametry)
U první možnosti se jedná o vyvolání konstruktoru předka (více se dozvíme později). Druhý typ inicializátoru zavolá jiný konstruktor téže třídy, před provedením těla tohoto konstruktoru. [3]
Některá třída může být docela velká, proto ji lze rozdělit do několika menších celků, které jsou uloženy v různých souborech. Toto dělení se provádí pomocí klíčového slova partial. Díky tomu lze oddělit i jednotlivé datové složky, metody a konstruktory jedné třídy.