Junior — Middle
Spiega cos'è una classe astratta e in cosa si differisce da una classe normale.
sobes.tech AI
Risposta dell'AI
Una classe astratta è una classe che non è destinata a creare istanze direttamente. Il suo scopo principale è fungere da base per altre classi. In una classe astratta possono esserci metodi astratti — metodi senza implementazione, che devono essere implementati nelle sottoclassi.
Differenze rispetto a una classe normale:
- Non è possibile creare un oggetto di una classe astratta direttamente.
- Può contenere metodi astratti.
- Viene usata per definire un'interfaccia e un comportamento comuni per un gruppo di sottoclassi.
Esempio in Kotlin (Android):
abstract class Animal {
abstract fun makeSound()
fun sleep() {
println("Dorme")
}
}
class Dog : Animal() {
override fun makeSound() {
println("Bau")
}
}
fun main() {
val dog = Dog()
dog.makeSound() // Stampa: Bau
dog.sleep() // Stampa: Dorme
}