0Pricing
Swift Academy · Урок

Основы протоколов и расширений

Определяйте протоколы, обеспечивайте соответствие типов, добавляйте реализации по умолчанию с помощью расширений и разбирайтесь с требованиями уровня типа и экземпляра.

«Основы протоколов и расширений» — бесплатный урок Swift Academy на CoddyKit. Это урок 1 из 3. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Swift Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Swift Academy содержит 3 уроков всего.

Введение

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

Определение протокола

Объявляйте протокол с обязательными методами или свойствами.

protocol Greetable {
    func greet() -> String
}

Соответствие протоколу

Тип соответствует протоколу, реализуя все требования протокола.

struct Person: Greetable {
    var name: String
    func greet() -> String {
        return "Hi, I am \\(name)"
    }
}
print(Person(name:"Ada").greet())

Расширения

Используйте расширения, чтобы обеспечить соответствие существующих типов протоколу.

extension Int: Greetable {
    func greet() -> String { return "Number \\(self)" }
}
print(5.greet())

Реализация по умолчанию

Расширения могут добавлять реализации по умолчанию, поэтому соответствующим типам не нужно реализовывать всё самостоятельно.

extension Greetable {
    func greet() -> String { return "Hello!" }
}
struct Dog: Greetable { }
print(Dog().greet())

Статические и экземплярные члены

Протоколы могут требовать статические и экземплярные члены.

protocol Identifiable {
    static var typeID: String { get }
    var id: Int { get }
}
struct Item: Identifiable {
    static var typeID = "Item"
    var id: Int
}
print(Item.typeID, Item(id:1).id)

Вопрос о протоколах

Быстрая проверка: какова основная роль протокола?

Итоги

Итоги: определяйте протоколы для общих контрактов, обеспечивайте соответствие типов, расширяйте существующие типы, добавляйте реализации по умолчанию и используйте требования к статическим и экземплярным членам.

Часто задаваемые вопросы

Урок «Основы протоколов и расширений» бесплатный?

Да — полный текст урока «Основы протоколов и расширений» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Swift Academy, подпишись на CoddyKit PRO. Курс Swift Academy содержит 3 уроков всего.

Чему я научусь в уроке «Основы протоколов и расширений»?

Определяйте протоколы, обеспечивайте соответствие типов, добавляйте реализации по умолчанию с помощью расширений и разбирайтесь с требованиями уровня типа и экземпляра. Ты практикуешь Swift Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Swift Academy?

Предыдущий опыт не требуется. Swift Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 3.

Сколько времени занимает урок «Основы протоколов и расширений»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Swift Academy?

Да. Каждый урок Swift Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Основы протоколов и расширений
  2. Расширения протоколов и расширения типов
  3. Требования уровня типа и экземпляра
← Назад к Swift Academy