Objektorienteeritud programmeerimine (OOP) põhineb objektidel, mis ühendavad andmed ja nende töötlemise meetodid.
Klass on mall, mis kirjeldab objekti omadusi ja käitumist.
public class Inimene
{
public string Nimi;
public int Vanus;
public void Tervita()
{
Console.WriteLine("Tere! Mina olen " + Nimi);
}
}
Objekt on konkreetne klassi eksemplar, millel on oma olek ja käitumine.
var inimene = new Inimene();
Meetodid määravad, milliseid tegevusi objekt saab teha.
inimene.Tervita();
Pärimine võimaldab alamklassidel pärida omadusi ja käitumist ülemklassilt ning neid täiendada või muuta.
public class Töötaja : Inimene
{
public string Ametikoht;
public void Töötan()
{
Console.WriteLine($"{Nimi} töötab ametikohal {Ametikoht}.");
}
}
Abstraktsioon lihtsustab keerulisi süsteeme, keskendudes olulistele detailidele ja varjates üleliigset.
public abstract class Loom
{
public string Nimi { get; set; }
public abstract void TeeHääl(); // peab üle kirjutama
public void Söö()
{
Console.WriteLine($"{Nimi} sööb.");
}
}
Kapseldamine peidab objekti sisemise töö ning eksponeerib ainult vajaliku liidese.
public class Pank
{
private double saldo;
public double Saldo
{
get { return saldo; }
set
{
if (value >= 0)
saldo = value;
}
}
}
Polümorfism võimaldab erinevat tüüpi objektidel reageerida samanimelistele meetoditele erinevalt, võimaldades ühtset käsitlemist.
public class Koer : Loom
{
public override void TeeHääl()
{
Console.WriteLine("Koer ütleb: Hau!");
}
}