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
}