Sobes.tech
Junior — Middle

Explica ce este o clasă abstractă și în ce se deosebește de o clasă obișnuită.

sobes.tech AI

Răspuns de la AI

O clasă abstractă este o clasă care nu este destinată să creeze instanțe direct. Scopul său principal este de a servi ca bază pentru alte clase. Într-o clasă abstractă pot exista metode abstracte — metode fără implementare, care trebuie implementate în subclase.

Diferențe față de o clasă obișnuită:

  • Nu se poate crea un obiect al unei clase abstracte direct.
  • Poate conține metode abstracte.
  • Este folosită pentru a defini o interfață comună și comportament pentru un grup de subclase.

Exemplu în Kotlin (Android):

abstract class Animal {
    abstract fun makeSound()

    fun sleep() {
        println("Doarme")
    }
}

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

fun main() {
    val dog = Dog()
    dog.makeSound()  // Va afișa: Ham
    dog.sleep()      // Va afișa: Doarme
}