Sobes.tech
Junior — Middle

Explica qué es una clase abstracta y en qué se diferencia de una clase normal.

sobes.tech AI

Respuesta de la IA

Una clase abstracta es una clase que no está destinada a crear instancias directamente. Su principal función es servir como base para otras clases. En una clase abstracta pueden existir métodos abstractos, que son métodos sin implementación que deben ser implementados en las subclases.

Diferencias con una clase normal:

  • No se puede crear un objeto de una clase abstracta directamente.
  • Puede contener métodos abstractos.
  • Se usa para definir una interfaz y comportamiento comunes para un grupo de subclases.

Ejemplo en Kotlin (Android):

abstract class Animal {
    abstract fun makeSound()

    fun sleep() {
        println("Duerme")
    }
}

class Dog : Animal() {
    override fun makeSound() {
        println("Guau")
    }
}

fun main() {
    val dog = Dog()
    dog.makeSound()  // Imprime: Guau
    dog.sleep()      // Imprime: Duerme
}