Constructorii sunt funcții care folosesc la inițializarea unei instanțe a clasei. Constructorii au același nume cu al clasei. Constructorul poate avea un modificator de acces și nu returneaza nimic. Sintaxa este:
modificatorAcces numeConstructor([parametri])[:initializator]
[{
corp_constructor
}]
unde:
initializator – permite invocarea unui constructor anume, înainte de executarea instrucțiunilor care formează corpul constructorului curent. Inițializatorul poate lua două forme: base([parametri]) sau this([parametri]). Dacă nu se precizează nici un inițializator, implicit se va asocia base().
În cazul în care nu definim nici un constructor, C# va crea unul implicit având corpul vid.
class Elev { public Elev() //constructor { } }
O clasă poate conține mai mulți constructori, diferențiați după numărul și tipul de parametri.
class Elev { public string nume; public Elev() //constructor { nume = ""; } public Elev(string Nume) //constructor { nume = Nume; } }
Apelul unui constructor se face automat la instanțierea clasei prin operatorul new.
class Exemplu { Elev elev = new Elev(); }
Un constructor cu doi parametri este ilustrat mai jos:
using System; namespace Complex { class Complex { private int re; private int im; //constructor cu doi parametri public Complex(int i, int j) { re = i; im = j; } public void Afis() { Console.WriteLine(re + "+" + im + "i"); } } class Program { static void Main(string[] args) { Complex c = new Complex(1, 2); c.Afis(); Console.ReadLine(); } } }
Rezultat