Sobes.tech
Junior

Mi az az absztrakt osztály?

sobes.tech MI

Válasz az MI-től

Absztrakt osztály olyan osztály, amelyet nem lehet közvetlenül a new operátor segítségével létrehozni. Más osztályok alapjául szolgál, és tartalmazhat absztrakt (megvalósítás nélküli) és normál (megvalósítással rendelkező) metódusokat. Az absztrakt osztályokat az abstract kulcsszóval definiálják.

Fő jellemzők:

  • Nem példányosítható: Nem lehet saját absztrakt osztálypéldányt létrehozni.
  • Tartalmazhat absztrakt metódusokat: Test nélküli metódusokat, amelyeket a leszármazott osztályok felül kell írjanak.
  • Tartalmazhat normál metódusokat: Megvalósítással rendelkező metódusokat, amelyeket örökölhet vagy felülírhat.
  • Öröklődés: A leszármazott osztályok öröklik az absztrakt osztályt, és minden absztrakt metódusát meg kell valósítaniuk.

Példa:

abstract class Shape {
  // Absztrakt metódus test nélkül
  double getArea();

  // Normál metódus megvalósítással
  void describe() {
    print('Ez egy alakzat.');
  }
}

class Circle extends Shape {
  double radius;

  Circle(this.radius);

  // Az absztrakt metódus megvalósítása
  @override
  double getArea() {
    return 3.14 * radius * radius;
  }
}

class Square extends Shape {
  double side;

  Square(this.side);

  // Az absztrakt metódus megvalósítása
  @override
  double getArea() {
    return side * side;
  }
}