Junior
Mis on abstraktsioon programmeerimises?
sobes.tech AI
Vastus AI-lt
Abstraktsioon on mehhanism, mis võimaldab varjata rakenduse üksikasju ning pakkuda üldistatud ülevaadet süsteemist või selle komponentidest. See keskendub sellele, "mida" objekt teeb, mitte sellele, "kuidas" ta seda teeb.
C#-s rakendub abstraktsioon järgmiselt:
- Abstraktsed klassid: Võivad sisaldada abstraktseid meetodeid (ilma rakenduseta) ja tavalisi liikmeid. Abstraktsest klassist ei saa luua eksemplari.
// Abstraktne klass abstraktse meetodiga public abstract class Shape { public abstract double GetArea(); // Abstraktne meetod public string Name { get; set; } public void DisplayInfo() // Tavaline meetod { Console.WriteLine($"Shape: {Name}"); } } - Liidesed: Määratlevad lepingu, mida klass peab järgima. Sisaldavad ainult meetodite, omaduste, sündmuste ja indeksijate deklaratsioone (kuni C# 8), või võivad sisaldada vaikimisi rakendust (alates C# 8).
// Liides public interface IDrawable { void Draw(); // Meetod ilma rakenduseta }
Abstraktsiooni põhimõtted:
- Inkapssulatsioon: Andmete ja nende töötlemiseks mõeldud meetodite ühendamine ühte tervikusse. Aitab varjata sisemist struktuuri.
- Pärimine: Võimaldab luua uusi klasse olemasolevate põhjal, pärides nende omadused ja meetodid ning lisades või ülekirjutades funktsionaalsust.
Abstraktsiooni rakendamine:
- Komplekssete süsteemide lihtsustamine.
- Koodi paindlikkuse suurendamine.
- Hooldatavuse parandamine.
- Korduvkasutatavate komponentide loomine.