Las clases abstractas están diseñadas para ser heredadas, proporcionando una estructura común que las clases hijas deben implementar.
No necesitan la palabra clave open
Tienen constructor pero no se pueden instanciar
Funciones con y sin implementación
abstract class Vehiculo(
val marca: String,
val modelo: String
) {
// Función con implementación
fun mostrarInfo() {
println("$marca $modelo")
}
// Función abstracta sin implementación
abstract fun arrancar()
}
info Usa abstract para declarar la clase y sus miembros sin implementación