Junior — Middle
Kas saaksite selgitada, mida mõistetakse programmeerimises abstraktsioonina?
sobes.tech AI
Vastus AI-lt
Programmeerimise abstraktsioon on protsess, kus välja tuuakse objekti või süsteemi olulised omadused ning varjatakse teostamise üksikasjad, mis praeguses kontekstis ei ole olulised. See võimaldab töötada objektidega kõrgemal tasemel, ilma keeruliste detailideta.
C#-s realiseeritakse abstraktsioon abstraktsete klasside ja liideste kaudu. Näiteks võib defineerida abstraktse klassi ilma meetodite teostuseta, ning konkreetsed klassid teostavad need meetodid omal moel:
abstract class Animal
{
public abstract void MakeSound();
}
class Dog : Animal
{
public override void MakeSound()
{
Console.WriteLine("Haug-haug");
}
}
class Cat : Animal
{
public override void MakeSound()
{
Console.WriteLine("Miau");
}
}
Siin suhtleb kasutaja abstraktse klassi Animal kaudu, muretsemata loomade häälte teostamise detailide pärast.