Klass
- Klass on mall või plaan, mille põhjal luuakse objekte.
- Kirjeldab omadusi (välju) ja tegevusi (meetodeid).
public class Inimene
{
public string Nimi;
public int Vanus;
public void Tervita()
{
Console.WriteLine("Tere! Mina olen " + Nimi);
}
}
Pärilus (inheritance)
- Võimaldab luua uue klassi olemasoleva põhjal.
- Alamklass pärib kõik vanema omadused ja meetodid.
- Võimalik laiendada või muuta käitumist.
public class Töötaja : Inimene
{
public string Ametikoht;
public void Töötan()
{
Console.WriteLine($"{Nimi} töötab ametikohal {Ametikoht}.");
}
}
Abstraktsioon (abstraction)
- Peidab keerulise loogika ja näitab ainult vajalikku infot.
- Kasutatakse abstraktsete klasside ja liideste abil.
public abstract class Loom
{
public string Nimi;
public abstract void TeeHääl();
}
public class Koer : Loom
{
public override void TeeHääl()
{
Console.WriteLine("Auh-auh!");
}
}
Kapseldamine (encapsulation)
- Andmete peitmine otse ligipääsu eest.
- Kasutatakse private välju ja public omadusi (get/set).
- Kontrollib, kuidas andmeid muudetakse.
public class Pank
{
private double saldo;
public double Saldo
{
get { return saldo; }
set
{
if (value >= 0)
saldo = value;
}
}
}
Liides (interface)
- Kirjeldab ainult meetodite allkirjad – ei sisalda loogikat.
- Klassi, mis rakendab liidest, kohustab neid meetodeid defineerima.
- Võimaldab mitut “päritud” tüüpi.
public interface IHeliline
{
void TeeHääl();
}
public class Kass : IHeliline
{
public void TeeHääl()
{
Console.WriteLine("Mjäu!");
}
}
Kokkuvõte
| Mõiste | Kirjeldus |
|---|---|
| Klass | Mall objektide loomiseks. |
| Pärilus | Alamklass pärib vanema omadused ja meetodid. |
| Abstraktsioon | Peidab detailid, näitab vaid olulist. |
| Kapseldamine | Andmete kaitse, kontrollitud ligipääs. |
| Liides (interface) | Nagu leping – määrab, millised meetodid peavad olemas olema. |
Näide kasutuses:
public interface ITööline
{
double ArvutaPalk();
}
public class Töötaja : Inimene, ITööline
{
public double Tunnitasu;
public int Tunnid;
public double ArvutaPalk()
{
return Tunnitasu * Tunnid;
}
public override string ToString()
{
return $"{Nimi}, Vanus: {Vanus}, Palk: {ArvutaPalk()}";
}
}

