Constructori

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(12);
            c.Afis();
            Console.ReadLine();
        }
    }
}

Rezultat

poo1

Leave a comment