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.