Sobes.tech
Junior — Middle

Czy możesz wyjaśnić, co oznacza abstrakcja w programowaniu?

sobes.tech AI

Odpowiedź od AI

Abstrakcja w programowaniu to proces wyodrębniania istotnych cech obiektu lub systemu i ukrywania szczegółów implementacji, które nie są istotne dla bieżącego kontekstu. Pozwala to na pracę z obiektami na wyższym poziomie, bez zagłębiania się w skomplikowane szczegóły.

W C# abstrakcja realizowana jest przez klasy abstrakcyjne i interfejsy. Na przykład można zdefiniować klasę abstrakcyjną z metodami bez implementacji, a konkretne klasy będą te metody implementować na swój sposób:

abstract class Animal
{
    public abstract void MakeSound();
}

class Dog : Animal
{
    public override void MakeSound()
    {
        Console.WriteLine("Hau-hau");
    }
}

class Cat : Animal
{
    public override void MakeSound()
    {
        Console.WriteLine("Miau");
    }
}

Tutaj użytkownik wchodzi w interakcję z abstrakcyjną klasą Animal, nie martwiąc się o szczegóły implementacji dźwięków zwierząt.