Что такое наследование в ООП

«Что такое наследование в ООП» — вопрос из категории ООП, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Наследование — это механизм ООП, позволяющий одному классу (подклассу/дочернему) перенимать свойства и методы другого класса (родительского/суперкласса). Это способствует повторному использованию кода и созданию иерархии классов.

Пример на Kotlin:

open class Animal(val name: String) {
    open fun makeSound() = "Some sound"
}

class Dog(name: String) : Animal(name) {
    override fun makeSound() = "Bark!"
}

val dog = Dog("Rex")
println(dog.makeSound()) // Выведет: Bark!

Ключевые моменты:

  • Подкласс расширяет функциональность родителя
  • Можно переопределять методы (override)
  • В Kotlin классы по умолчанию final, для наследования нужно open
  • Поддерживает принцип "is-a" (Dog is Animal)