Junior — Middle
Kokios yra pagrindinės funkcijos ir taikymo sritys abstrakčiose klasėse objektų orientuotoje programavime?
sobes.tech AI
Atsakymas iš AI
Objekto orientuoto programavimo abstrakčiosios klasės yra klasės, kurios nėra skirtos tiesiogiai kurti pavyzdžių, tačiau tarnauja kaip pagrindiniai šablonai kitoms klasėms.
Abstrakčių klasių pagrindinės funkcijos:
- Bendro interfeiso ir pagrindinio elgesio apibrėžimas susijusių klasių grupei.
- Galimybė deklaruoti abstrakčius metodus (be įgyvendinimo), kuriuos turi įgyvendinti pogrupiai.
- Leidžia iš dalies įgyvendinti funkcionalumą, kurį paveldi vaikinės klasės.
Pritaikymas:
- Kai reikia nustatyti bendrą sutartį skirtingoms įgyvendinimams.
- Kai dalis logikos yra bendroji, o kita turi būti įgyvendinta paveldėtojose.
Pavyzdys Java:
abstract class Animal {
abstract void makeSound(); // abstraktus metodas
void breathe() {
System.out.println("Kvėpuoja");
}
}
class Dog extends Animal {
void makeSound() {
System.out.println("Au-au");
}
}
Čia, Animal negali būti tiesiogiai sukurta, tačiau galima sukurti Dog, kuris įgyvendina makeSound metodą.