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;
}
}