Junior — Middle
Обяснете какво е абстрактен клас и как се различава от обикновен клас.
sobes.tech AI
Отговор от AI
Абстрактният клас е клас, който не е предназначен за създаване на екземпляри директно. Основната му задача е да служи като база за други класове. В абстрактния клас могат да съществуват абстрактни методи — методи без реализация, които трябва да бъдат реализирани в подкласовете.
Разлики от обикновения клас:
- Не може да се създаде обект на абстрактен клас директно.
- Може да съдържа абстрактни методи.
- Използва се за определяне на общ интерфейс и поведение за група подкласове.
Пример на Kotlin (Android):
abstract class Animal {
abstract fun makeSound()
fun sleep() {
println("Спи")
}
}
class Dog : Animal() {
override fun makeSound() {
println("Гав")
}
}
fun main() {
val dog = Dog()
dog.makeSound() // Изход: Гав
dog.sleep() // Изход: Спи
}