Sobes.tech
Junior — Middle

Care este rolul și scopul claselor abstracte în programarea orientată pe obiecte?

sobes.tech AI

Răspuns de la AI

Clasele abstracte în programarea orientată pe obiecte servesc ca modele pentru crearea altor clase. Ele nu pot fi instantiate direct și de obicei conțin metode implementate, precum și metode abstracte (fără implementare), care trebuie suprascrise în subclase. Acest lucru permite definirea unei interfețe comune și a unui comportament de bază, oferind în același timp flexibilitate pentru implementări specifice.

Exemplu în Kotlin (Android):

abstract class Animal {
    abstract fun makeSound()
    fun sleep() {
        println("Doarme")
    }
}

class Dog : Animal() {
    override fun makeSound() {
        println("Ham-ham")
    }
}

Aici, Animal este o clasă abstractă care stabilește un contract general pentru toate animalele, iar Dog implementează un comportament specific pentru sunet.