In diesem Fall die Verwendung verschachtelter Aufzählungen?

8

Ich muss einige ChartTypes unterstützen. Jeder dieser Diagrammtypen kann eine Anzahl von ChartSubTypes unterstützen. Zum Beispiel AreaChart type kann PercentArea , StackedArea usw. haben. Ich denke daran, eine Enum für ChartTypes und SubTypes zu verwenden und dann eine Map irgendwo zu verwalten, die ungefähr so ​​aussieht:

%Vor%

Kann ich hier irgendwie ein verschachteltes Enum-Muster verwenden? Wenn ja, wie?

    
Geek 08.03.2013, 07:12
quelle

3 Antworten

5

Wenn diese Definition konstant ist (d. h. Sie wissen, welche Untertypen jeden Typ enthalten können), können Sie hier die Enumerationsdefinitionen wie folgt verwenden

%Vor%     
Arsen Alexanyan 08.03.2013, 07:19
quelle
3

Ja, Sie können die Chart-Untertypen wie folgt dem Chart-Typ hinzufügen:

%Vor%

Um die gewünschte Karte zu erhalten, rufen Sie einfach ChartType.getMapTypes(); auf.

Wenn die Anforderung ist, dass jeder ChartType einen oder mehrere SubChartTypes haben soll, benötigen Sie diesen Konstruktor, um diese Anforderung zu erzwingen.

%Vor%

Varargs können null Argumente haben.

    
Lodewijk Bogaards 08.03.2013 07:23
quelle
1

Verwenden Sie Schnittstellen, um Aufzählungstypen zu gruppieren:

%Vor%

Sie können natürlich mehrere Implementierungen dieser Schnittstelle enthalten, auch wenn Sie noch nicht wissen. Sie können die Schnittstelle auch als Parametertyp (generisches oder Methodenargument) verwenden.

    
Mordechai 08.03.2013 07:28
quelle

Tags und Links