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

Каково отличие между классом и протоколом в программировании?

Компании, где спрашивали
Uzum

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

sobes.tech AI

Класс — это шаблон для создания объектов, который описывает их свойства (поля) и поведение (методы). Класс инкапсулирует данные и функции, позволяя создавать экземпляры с конкретным состоянием.

Протокол (в некоторых языках, например, Swift) — это набор требований (методов и свойств), которые должен реализовать класс или структура. Протокол определяет интерфейс, без реализации, и служит для обеспечения определённого поведения.

Иными словами:

  • Класс — конкретная реализация с данными и логикой.
  • Протокол — контракт, который описывает, что класс должен уметь делать.

Пример на Swift:

protocol Drawable {
    func draw()
}

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

Здесь Drawable — протокол, а Circle — класс, который его реализует.