Este tipo de clase define métodos o propiedades sin implementación. Sin embargo, requiere de subclases.
abstract class Vehiculo {
abstract fun drive() // Método sin implementación
fun stop() {
println("El vehículo se ha detenido")
}
}
class Coche : Vehiculo() {
override fun drive() {
println("El coche está en marcha")
}
}
val miCoche = Coche()
miCoche.drive() // El coche está en marcha
miCoche.stop() // El vehículo se ha detenido