sguruapp@gmail.com
facebook vk instagram Телеграм youtube

Что такое convenience init в Swift


В Swift convenience init — это вспомогательный инициализатор, который предоставляет дополнительные способы инициализации объекта, при этом обязательным условием является вызов другого инициализатора (обычно designated initializer) внутри класса. В отличие от основного инициализатора (designated initializer), вспомогательный инициализатор не может инициализировать все свойства объекта; его задача — облегчить процесс создания объекта, предоставляя удобные параметры или дополнительные варианты инициализации.

class Rectangle {
var width: Double
var height: Double

// Основной инициализатор (designated initializer)
init(width: Double, height: Double) {
self.width = width
self.height = height
}

// Вспомогательный инициализатор
convenience init(sideLength: Double) {
self.init(width: sideLength, height: sideLength)
}
}

// Использование основного инициализатора
let rect1 = Rectangle(width: 5.0, height: 10.0) 

// Использование вспомогательного инициализатора
let square = Rectangle(sideLength: 5.0)

В данном примере класс Rectangle имеет основной инициализатор, который принимает ширину и высоту. Вспомогательный инициализатор предоставляет альтернативный способ создания прямоугольника, который на самом деле является квадратом, поскольку его ширина и высота одинаковы. Этот вспомогательный инициализатор вызывает основной инициализатор внутри себя, передавая одинаковое значение для ширины и высоты.

Изучайте Swift индивидуально подробнее


Возврат к списку

обучись профессии будущего

Хочешь стать успешным разработчиком
приложений? Тогда добро пожаловать к нам.

обучись профессии будущего