Junior — Middle
Puoi fare un esempio di una classe astratta nella programmazione orientata agli oggetti?
sobes.tech AI
Risposta dell'AI
Una classe astratta è una classe che non è destinata a creare istanze direttamente, ma funge da classe base per altre classi. Può contenere metodi implementati e anche metodi astratti (senza implementazione), che devono essere implementati nelle sottoclassi.
Esempio di una classe astratta in Java (Android):
public abstract class Animal {
// Metodo astratto — deve essere implementato nelle sottoclassi
public abstract void makeSound();
// Metodo normale con implementazione
public void sleep() {
System.out.println("L'animale sta dormendo");
}
}
public class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("Bau!");
}
}
// Utilizzo
Animal dog = new Dog();
dog.makeSound(); // Stampa: Bau!
dog.sleep(); // Stampa: L'animale sta dormendo
In questo esempio, Animal è una classe astratta con un metodo astratto makeSound(). La classe Dog eredita da Animal e implementa questo metodo.