0Pricing
Swift Academy · Урок

Ленивые и вычисляемые свойства

Ленивые и вычисляемые свойства

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

Введение

Здравствуйте,

В предыдущем уроке мы узнали о хранимых свойствах. Также можно определить ленивые и вычисляемые свойства.

В предыдущем разделе мы рассматривали хранение данных хранимых свойств.

Помимо этого, свойства можно определить как вычисляемые и ленивые.

Ленивые свойства

Ленивые свойства

Если значение свойства не нужно создавать до первого обращения к нему, можно использовать ленивое хранимое свойство.

Если значение свойства не используется до первого обращения к нему, мы можем сделать его ленивым хранимым свойством. Поэтому, если создание объекта требует больших затрат и не нужно сразу, мы отложим его до первого обращения к объекту и избежим лишнего расхода ресурсов и потери производительности. Чтобы сделать хранимое свойство ленивым, нужно добавить модификатор lazy.

class Person {
    lazy var name: String = "Name"
    var age:Int = 0
    private var _lastName:String = ""
    func profile() -> String {
        return "I'm \(self.name) and I'm \(self.age) years old."
    }

}

var p = Person()

p.name = "Coddy"
p.age = 10

print(p.profile())

Вычисляемые свойства

Вычисляемые свойства

Вычисляемые свойства получают входные данные и возвращают новый результат. На первый взгляд может показаться, что они работают как функции. Однако вычисляемые свойства используются с точечной нотацией, как и обычные свойства.

В примере ниже мы лучше поймём разницу между методом и вычисляемым свойством.

Продолжение

Помимо хранимых свойств, классы, структуры и перечисления могут определять вычисляемые свойства, которые фактически не хранят значение.

Вместо этого они предоставляют метод получения и необязательный метод установки для косвенного получения и изменения других свойств и значений.

пример

Если в объявлении свойства определить get { }, это превращает свойство в вычисляемое. При этом у него не может быть начального значения, поскольку при обращении к свойству всегда вызывается объявленная в нём функция get{}.

class Person {
    lazy var name: String = "Name"
    var age:Int = 0
    private var _lastName:String = ""

    var lastName:String{
    get {
        return _lastName
    }
    set {
        _lastName = newValue
    }
    }

    var profile:String{
    get{
        return "I'm \(self.name) and I'm \(self.age) years old."
    }
    }

}

var p = Person()

p.name = "Matt"
p.age = 40


/*
Normally, if it was a method, we would call it with the p.profile () method.
However, since it is propery, it was enough to call it with .profile.
*/

p.profile

Поздравляем

Поздравляем 🎉

В этом уроке мы изучили ленивые и вычисляемые свойства в Swift.

До встречи на следующем уроке.

Ленивые и вычисляемые свойства — иллюстрация 6

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

Урок «Ленивые и вычисляемые свойства» бесплатный?

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

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

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

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

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

Сколько времени занимает урок «Ленивые и вычисляемые свойства»?

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

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

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

← Назад к Swift Academy