Страницы

Поиск по вопросам

среда, 3 апреля 2019 г.

Enum для каждого enum

Собственно, вопрос, как это выглядит? Для примера возьмем: public enum Transport{ SHOTGUN, RIFLE, MINIGUN } И вот для каждого перечисления нужно задать еще один enum для конкретной модели. Как это будет выглядеть и как к этому обращаться? изначально мне кажется что должна присутствовать строка public Transport(Enum type){this.type = type}; Но ведь для каждого перечисления будет свое перечисление. И перечисление нельзя наследовать. Подскажите.


Ответ

Определите интерфейс, который должны будут реализовывать ваши вложенные перечисления. public enum Transport { SHOTGUN(Type1.T11), RIFLE(Type2.T21), MINIGUN(Type3.T31);
private Weapon weapon;
Transport(Weapon weapon) { this.weapon = weapon; }
public interface Weapon {};
public enum Type1 implements Weapon { T11, T12; }
public enum Type2 implements Weapon { T21, T22; }
public enum Type3 implements Weapon { T31, T32; } }

Комментариев нет:

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