Junior — Middle
Vai jūs varat izskaidrot, ko nozīmē abstraktās klases jēdziens objektorientētajā programmēšanā?
sobes.tech AI
Atbilde no AI
Objektorientētās programmēšanas abstraktā klase ir klase, kuras tieši nevar izveidot eksemplārus. Tā kalpo kā šablons citām klasēm un var saturēt gan realizētās metodes, gan abstraktās (bez realizācijas) metodes, kuras jārealizē apakšklasēs.
Piemēram, Dart (Flutter valoda) abstraktā klase tiek deklarēta ar atslēgvārdu abstract:
abstract class Animal {
void makeSound(); // abstrakta metode
void breathe() {
print('Elpo'); // realizēta metode
}
}
class Dog extends Animal {
@override
void makeSound() {
print('Hau');
}
}
void main() {
// Animal animal = Animal(); // Kļūda: nevar izveidot abstraktas klases eksemplāru
Dog dog = Dog();
dog.makeSound(); // Hau
dog.breathe(); // Elpo
}
Tādējādi, abstraktā klase nosaka kopēju saskarni un pamatfunkcionalitāti, bet konkrētās klases īsteno detaļas.