Junior — Middle
Каква е ролята и предназначението на абстрактните класове в обектно-ориентираното програмиране?
sobes.tech AI
Отговор от AI
Абстрактните класове в обектно-ориентираното програмиране служат като шаблони за създаване на други класове. Те не могат да бъдат инстанцирани директно и обикновено съдържат както реализирани методи, така и абстрактни (без реализация), които трябва да бъдат презаписани в подкласовете. Това позволява да се определи общ интерфейс и базово поведение, като същевременно се осигурява гъвкавост за конкретни реализации.
Пример на Kotlin (Android):
abstract class Animal {
abstract fun makeSound()
fun sleep() {
println("Спи")
}
}
class Dog : Animal() {
override fun makeSound() {
println("Гав-гав")
}
}
Тук Animal е абстрактен клас, който задава общ договор за всички животни, а Dog реализира конкретно поведение на звука.