Что такое полиморфизм

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

Ответ

Полиморфизм - это возможность объектов с одинаковым интерфейсом иметь разную реализацию. В Android/Kotlin это реализуется через:

  1. Переопределение методов (override)
open class Animal {
    open fun makeSound() = "Generic sound"
}

class Cat : Animal() {
    override fun makeSound() = "Meow"
}
  1. Интерфейсы:
interface Drawable {
    fun draw()
}

class Circle : Drawable {
    override fun draw() { /* рисуем круг */ }
}

class Square : Drawable {
    override fun draw() { /* рисуем квадрат */ }
}
  1. Параметрический полиморфизм (generics):
fun <T> printItem(item: T) {
    println(item.toString())
}

Полиморфизм позволяет писать более гибкий и расширяемый код, уменьшая дублирование.

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