Junior — Middle
Ar galite paaiškinti, ką reiškia abstraktaus klases sąvoka objektinio programavimo srityje?
sobes.tech AI
Atsakymas iš AI
Objektų orientuoto programavimo abstraktusis klasė yra klasė, kuri nėra skirta tiesioginiam egzempliorių kūrimui. Ji tarnauja kaip šablonas kitoms klasėms ir gali turėti tiek įgyvendintus metodus, tiek abstrakčius (be įgyvendinimo) metodus, kurie turi būti įgyvendinti pogrupiuose.
Pavyzdžiui, Dart (Flutter kalba) abstrakti klasė deklaruojama naudojant raktinį žodį abstract:
abstract class Animal {
void makeSound(); // abstraktus metodas
void breathe() {
print('Kvėpuoja'); // įgyvendintas metodas
}
}
class Dog extends Animal {
@override
void makeSound() {
print('Au');
}
}
void main() {
// Animal animal = Animal(); // Klaida: negalima sukurti abstraktaus klasės egzemplioriaus
Dog dog = Dog();
dog.makeSound(); // Au
dog.breathe(); // Kvėpuoja
}
Taip, abstrakti klasė apibrėžia bendrą sąsają ir bazinę funkcionalumą, o konkretūs klasės įgyvendina detales.