Sobes.tech
Junior — Middle

Tudná magyarázni, hogy mit jelent az absztrakt osztály fogalma az objektumorientált programozásban?

sobes.tech MI

Válasz az MI-től

Az objektumorientált programozásban az absztrakt osztály olyan osztály, amelyet nem szándékoznak közvetlen példányosítani. Más osztályok számára sablonként szolgál, és tartalmazhat megvalósított módszereket, valamint absztrakt (megvalósítás nélküli) módszereket, amelyeket az alosztályokban kell megvalósítani.

Például Dartban (Flutter nyelv), az absztrakt osztályt az abstract kulcsszóval lehet deklarálni:

abstract class Animal {
  void makeSound(); // absztrakt módszer

  void breathe() {
    print('Lélegzik'); // megvalósított módszer
  }
}

class Dog extends Animal {
  @override
  void makeSound() {
    print('Vau');
  }
}

void main() {
  // Animal animal = Animal(); // Hiba: nem lehet példányosítani az absztrakt osztályt
  Dog dog = Dog();
  dog.makeSound(); // Vau
  dog.breathe();   // Lélegzik
}

Így az absztrakt osztály általános interfészt és alapvető funkcionalitást határoz meg, míg a konkrét osztályok részleteket valósítanak meg.