Junior — Middle
¿Cuál es el papel y la finalidad de las clases abstractas en la programación orientada a objetos?
sobes.tech AI
Respuesta de la IA
Las clases abstractas en programación orientada a objetos sirven como plantillas para crear otras clases. No pueden ser instanciadas directamente y generalmente contienen métodos implementados, así como métodos abstractos (sin implementación), que deben ser sobrescritos en las subclases. Esto permite definir una interfaz común y un comportamiento básico, proporcionando flexibilidad para implementaciones específicas.
Ejemplo en Kotlin (Android):
abstract class Animal {
abstract fun makeSound()
fun sleep() {
println("Durmiendo")
}
}
class Dog : Animal() {
override fun makeSound() {
println("Guau-guau")
}
}
Aquí, Animal es una clase abstracta que define un contrato general para todos los animales, y Dog implementa un comportamiento específico del sonido.