Назад к вопросам
Junior — Middle
74
Каково отличие между классом и протоколом в программировании?
Компании, где спрашивали
Uzum
Ответ от нейросети
sobes.tech AI
Класс — это шаблон для создания объектов, который описывает их свойства (поля) и поведение (методы). Класс инкапсулирует данные и функции, позволяя создавать экземпляры с конкретным состоянием.
Протокол (в некоторых языках, например, Swift) — это набор требований (методов и свойств), которые должен реализовать класс или структура. Протокол определяет интерфейс, без реализации, и служит для обеспечения определённого поведения.
Иными словами:
- Класс — конкретная реализация с данными и логикой.
- Протокол — контракт, который описывает, что класс должен уметь делать.
Пример на Swift:
protocol Drawable {
func draw()
}
class Circle: Drawable {
func draw() {
print("Рисуем круг")
}
}
Здесь Drawable — протокол, а Circle — класс, который его реализует.