Классы и объекты

Kotlin поддерживает как функциональное, так и объектно-ориентированное программирование. Говоря о функциональных особенностях Kotlin, у нас есть такие понятия, как функции, функции более высокого порядка, лямбда-выражения и т. д., которые делают Kotlin функциональным языком.

Kotlin также поддерживает объектно-ориентированное программирование (ООП) и предоставляет такие функции, как абстракция, инкапсуляция, наследование и т. д. Объектно-ориентированное программирование (ООП) позволяет решать сложные задачи с помощью объектов.

Классы – Class

Класс — это шаблон для объектов, который будут использоваться для создания требуемых целей. Например: класс это автомобиль, а объект это конкретный автомобиль с определённым VIN номером.

Классы являются основными строительными блоками любого объектно-ориентированного языка программирования. Класс определяется с помощью ключевого слова class . Ниже приведен синтаксис для создания класса Kotlin.

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

Объекты

Объекты создаются из класса и имеют общие свойства и поведение, определенное классом. Синтаксис для объявления объекта класса:

Мы можем получить доступ к свойствам и методам класса:

Вложенный класс

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

Теперь мы можем создать объект вложенного класса, как показано ниже:

Ниже приведен пример, показывающий, как Kotlin интерпретирует вложенный класс.

Внутренний класс

Когда вложенный класс помечен ключевым словом inner , он будет называться внутренним классом . Доступ к внутреннему классу может получить из внешнего класса. В отличие от вложенного класса, внутренний класс может обращаться к членам внешнего класса. Мы не можем напрямую создать объект внутреннего класса, но его можно создать с помощью объекта внешнего класса. Ниже приведен простой синтаксис для создания внутреннего класса:

Теперь мы можем создать объект внутреннего класса, как показано ниже:

Ниже приведен пример, показывающий, как Kotlin интерпретирует внутренний класс.

Анонимный внутренний класс

Анонимный внутренний класс – довольно хорошая концепция, которая очень облегчает жизнь программиста. Всякий раз, когда мы реализуем интерфейс, на первый план выходит концепция анонимного внутреннего блока. Концепция создания объекта интерфейса с использованием ссылки на объект среды выполнения известна как анонимный класс.

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

Псевдонимы типов

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

Теперь мы можем создать псевдоним для данного Triple следующим образом:

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

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

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

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

11 + 8 =