Sobes.tech
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.