Sobes.tech
Junior — Middle

Vysvětlete koncept polymorfismu v objektově orientovaném programování a jak se uplatňuje v praxi vývoje.

sobes.tech AI

Odpověď od AI

Полиморфизм — это принцип объектно-ориентированного программирования, позволяющий объектам разных классов обрабатываться через единый интерфейс. Это значит, что один и тот же метод может вести себя по-разному в зависимости от объекта, который его вызывает.

В практике разработки на iOS (например, на Swift) полиморфизм часто реализуется через наследование и протоколы. Например, можно определить базовый класс или протокол с методом, а потом создавать подклассы или структуры, которые реализуют этот метод по-своему.

Пример на Swift:

protocol Drawable {
    func draw()
}

class Circle: Drawable {
    func draw() {
        print("Рисуем круг")
    }
}

class Square: Drawable {
    func draw() {
        print("Рисуем квадрат")
    }
}

func render(shape: Drawable) {
    shape.draw() // вызов метода draw у любого объекта, реализующего Drawable
}

let circle = Circle()
let square = Square()
render(shape: circle)  // Рисуем круг
render(shape: square)  // Рисуем квадрат

Такой подход упрощает расширяемость и поддержку кода, позволяет писать более универсальные функции и классы.