Вхід Реєстрація
Реклама
Ваше рекламне місце
Забронюйте цей слот без конкуренції на обраний період.
Купити рекламу →
Логотип телеграм спільноти - Затишна Галера
Додано 06 січ 2025

Затишна Галера

@Zatishna_Galera
Кількість підписників: 2 703
Фото: 1,360
Відео: 432
Посилання: 1,830
Опис:
Голова Одеського центру розробки DataArt та Delivery Director, капітан Затишної Галери, ділитимуся: завданнями із співбесід (QA/Delivery/Management), статтями, вакансіями, новинами зі світу IT. Контакт: [email protected] ; Patreon: patreon.com/CozyGalley
Джерело

Затишна Галера | iOSКомпас 🧭1️⃣3️⃣6️⃣ Завдання 136Що повинні реалізовувати змінні, що м...

Логотип телеграм спільноти - Затишна Галера Затишна Галера @Zatishna_Galera
666 Охват/переглядів 2026-01-07 09:41 Повідомлення №2323
#iOSКомпас 🧭1️⃣3️⃣6️⃣ Завдання 136Що повинні реалізовувати змінні, що містяться в протоколі?З вами знову той самий автор каналу @badlinkschannel. Не забувайте підписатися. А ми продовжуємо наші яблучні історіі.У Swift змінні (властивості), оголошені в протоколі, повинні вказувати:🔣 Тільки для читання (get)Якщо властивість оголошена як { get }, клас або структура, що реалізує протокол, повинна надати щонайменше геттерprotocol Animal { var name: String { get } // Тільки читання}struct Dog: Animal { let name = "Барсик" // Реалізуємо тільки get}let dog = Dog()print(dog.name) // "Барсик" 🔣 Також можна використовувати обчислювану властивість:struct Cat: Animal { var name: String { return "Мурзик" }} 🔣 Для читання і запису (get set)Якщо властивість { get set }, клас або структура обов’язково повинні надати і get, і set.protocol Vehicle { var speed: Int { get set } // Читання і запис}class Car: Vehicle { var speed: Int = 100 // Реалізуємо і get, і set}let car = Car()car.speed = 120 // Можна змінити значенняprint(car.speed) // 120 🔣 Обчислювана властивість також підійде, якщо вона має get і set:class Bike: Vehicle { private var internalSpeed = 50 var speed: Int { get { return internalSpeed } set { internalSpeed = newValue } }} 🔣 Статичні властивості (static)Якщо властивість повинна бути спільною для всіх екземплярів (не індивідуальною), то вона оголошується static.protocol Config { static var appVersion: String { get }}struct AppSettings: Config { static let appVersion = "1.0.0"}print(AppSettings.appVersion) // "1.0.0" 🔣 Клас може використовувати class var, якщо властивість можна перевизначати в підкласах:class AppInfo: Config { class var appVersion: String { return "2.0.0" }} @Zatishna_Galera