Все, что вам нужно знать о классах Enum!

Введение

Здравствуйте, уважаемые любители Котлина! Добро пожаловать в мою новую статью. Сегодня я собираюсь объяснить классы Enum. Прежде всего, я хочу рассказать о том, для чего используются классы Enum и что они делают.

Класс перечисления:

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

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

Если мы взглянем на наш простой пример, я хотел бы поговорить об особенностях классов Enum для лучшего понимания.

1-классы Enumне могут быть абстрактными, открытыми, внутренними, запечатанными.

2-Класс Enum является окончательным. Поэтому использование ключевого слова final дает избыточное предупреждение.

Классы 3-Enum могут использовать конструктор и держать данные в этом конструкторе, потому что они по сути являются классом.

4-Когда мы преобразуем наш код Kotlin в его эквивалент на Java с помощью «показать байт-код kotlin», мы увидим, что в фоновом режиме каждая константа перечисления фактически сохраняется как статические конечные классы. Таким образомнам не нужно создавать объект констант перечисления при его использовании. Точно так же мы видим, что каждая константа перечисления наследует свой собственный класс в фоновом режиме.

5-Объекты классов Enum не могут быть созданы.

6- Каждая константа Enum по умолчанию имеет имя и порядковый номер. Значение Name дает строку константы Enum, Ordinal дает индекс перечисления. константа и начинается с 0.

7-классы Enumне могут наследовать какой-либо класс. Но они могут реализовать любой интерфейс.

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

8-классы Enumмогут принимать абстрактные значения и функции. Кроме того, все константы перечисления должны переопределять эти абстрактные структуры. Кроме того, открытые функции могут быть написаны внутри классов перечисления. Переопределение этих открытых функцийв константах перечисления совершенно необязательно.

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

Заключение

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

Рекомендации