Junior — Middle
Ar galite pateikti pavyzdį apie abstraktų klasę objektinio programavimo kontekste?
sobes.tech AI
Atsakymas iš AI
Abstracti klasė yra klasė, kuri nėra skirta tiesiogiai kurti egzempliorius, bet tarnauja kaip pagrindinė klasė kitoms klasėms. Ji gali turėti tiek įgyvendintus metodus, tiek abstrakčius (be įgyvendinimo) metodus, kurie turi būti įgyvendinti pogrupiuose.
Pavyzdys Java (Android) abstrakčios klasės:
public abstract class Animal {
// Abstraktus metodas — turi būti įgyvendintas pogrupiuose
public abstract void makeSound();
// Paprastas metodas su įgyvendinimu
public void sleep() {
System.out.println("Gyvūnas miega");
}
}
public class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("Au au!");
}
}
// Naudojimas
Animal dog = new Dog();
dog.makeSound(); // Išves: Au au!
dog.sleep(); // Išves: Gyvūnas miega
Šiame pavyzdyje Animal yra abstrakti klasė su abstraktu metodu makeSound(). Klasė Dog paveldi iš Animal ir įgyvendina šį metodą.