Sobes.tech
Назад к вопросам
Junior — Middle
67

Объясните концепцию полиморфизма в объектно-ориентированном программировании и как она применяется в практике разработки.

Компании, где спрашивали
ITFB
Суши ВокСуши Вок
Моризо Диджитал

Ответ от нейросети

sobes.tech 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)  // Рисуем квадрат

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