Какие знаешь принципы ООП

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

Ответ

  • Инкапсуляция – сокрытие внутренней реализации и предоставление доступа через публичные методы.

    class User {
        private var name: String = ""
        fun setName(name: String) { this.name = name }
        fun getName(): String = name
    }
  • Наследование – создание новых классов на основе существующих (расширение функциональности).

    open class Animal { fun eat() {} }
    class Dog : Animal() { fun bark() {} }
  • Полиморфизм – возможность объектов с одинаковым интерфейсом иметь разную реализацию.

    interface Shape { fun draw() }
    class Circle : Shape { override fun draw() { /*...*/ } }
  • Абстракция – выделение ключевых характеристик объекта, игнорируя несущественные детали.

    abstract class Vehicle { abstract fun move() }

Видео-ответы