Junior — Middle
Kas saaksite selgitada, mida tähendab abstraktse klassi mõiste objektorienteeritud programmeerimises?
sobes.tech AI
Vastus AI-lt
Objektorienteeritud programmeerimises on abstraktne klass klass, mida ei ole mõeldud otse eksemplaride loomiseks. See toimib teiste klasside mallina ning võib sisaldada nii rakendatud meetodeid kui ka abstraktseid (ilma rakenduseta) meetodeid, mida alamsüklites tuleb rakendada.
Näiteks Dartis (Flutteri keel) deklareeritakse abstraktne klass võtmesõnaga abstract:
abstract class Animal {
void makeSound(); // abstraktne meetod
void breathe() {
print('Hingab'); // rakendatud meetod
}
}
class Dog extends Animal {
@override
void makeSound() {
print('Hau');
}
}
void main() {
// Animal animal = Animal(); // Viga: ei saa luua abstraktse klassi eksemplari
Dog dog = Dog();
dog.makeSound(); // Hau
dog.breathe(); // Hingab
}
Seega määrab abstraktne klass üldise liidese ja põhifunktsionaalsuse, samas kui konkreetsed klassid rakendavad detaile.