Многократные инициализаторы

Класс может определить многократные методы инициализатора, или когда он может принять различные формы ввода или обеспечить значения инициализации по умолчанию как удобство клиентам. Если класс может взять данные инициализации в различных формах или из других источников, это может объявить инициализатор для каждой формы или источника. Например, NSString класс имеет инициализаторы для получения строковых данных как массивы символов Unicode или от ресурсов URL (среди других).

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

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

Multiple initializers

Определяемый инициализатор

Инициализатор класса, берущего полное дополнение параметров инициализации, обычно является определяемым инициализатором. Определяемый инициализатор подкласса должен вызвать определяемый инициализатор своего суперкласса путем отправки сообщения в super. Удобство (или вторичный) инициализаторы — который может включать init— не вызывать super. Вместо этого они вызывают (через сообщение к self) инициализатор в ряду со следующим большинство параметров, предоставляя значение по умолчанию для параметра, не переданного в него. Заключительный инициализатор в этом ряду является определяемым инициализатором.

Необходимые как условие статьи

Похожие статьи

Категорическое обсуждение