Назад к вопросам
Junior — Middle
67
Объясните, что такое абстрактный класс и в чем его отличие от обычного класса?
Компании, где спрашивали
АВ Софт
JDPlex
Ответ от нейросети
sobes.tech 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() // Выведет: Спит
}