Login Sign Up
Advert
Your ad spot
Reserve this exclusive slot for the selected period.
Buy advertising →
Telegram community logo - Затишна Галера
Added 06 Jan 2025

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

@Zatishna_Galera
Number of subscribers: 2 704
Photos: 1,360
Videos: 432
Links: 1,830
Description:
Голова Одеського центру розробки DataArt та Delivery Director, капітан Затишної Галери, ділитимуся: завданнями із співбесід (QA/Delivery/Management), статтями, вакансіями, новинами зі світу IT. Контакт: [email protected] ; Patreon: patreon.com/CozyGalley
Source

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

Telegram community logo - Затишна Галера Затишна Галера @Zatishna_Galera
666 Views/Reach 2026-01-07 09:41 Message №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