abstract class Empleado(
val nombre: String,
val salario: Double
) {
// Propiedad abstracta
abstract val departamento: String
// Función con implementación
fun mostrarDatos() {
println("Nombre: $nombre")
println("Salario: €$salario")
}
// Función abstracta sin implementación
abstract fun calcularBonus(): Double
}
class Desarrollador(
nombre: String,
salario: Double,
val lenguaje: String
) : Empleado(nombre, salario) {
// Sobrescribir propiedad abstracta
override val departamento = "Tecnología"
// Sobrescribir función abstracta
override fun calcularBonus(): Double {
return salario * 0.15
}
}
lightbulb override es obligatorio para miembros abstractos