Конструкторы

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

Класс Kotlin может иметь следующие два типа конструкторов:

  • Первичный конструктор
  • Вторичные конструкторы

Класс Kotlin может иметь первичный конструктор и один или несколько дополнительных вторичных конструкторов. Первичный конструктор Kotlin инициализирует класс, тогда как вторичный конструктор помогает включить некоторую дополнительную логику при инициализации класса.

Первичный конструктор

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

Ключевое слово constructor можно опустить, если не указаны аннотации или модификаторы доступа, такие как public, private или protected.

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

Блок инициализатора

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

Ниже приведен пример использования блока инициализатора:

Значения по умолчанию

Kotlin позволяет инициализировать параметры конструктора некоторыми значениями по умолчанию. Ниже приведен рабочий пример:

Вторичный конструктор

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

Взгляните на следующий пример, здесь мы создали вторичный конструктор, чтобы еще раз реализовать приведенный выше пример:

Вторичный конструктор не позволяет использовать val или var с параметрами вторичного конструктора. Теперь давайте рассмотрим один пример с двумя вторичными конструкторами:

Поделись с друзьями:
Если вам понравилась статья, подписывайтесь на наши социальные сети.

Оставьте комментарий

шесть − 1 =