# Helden: Verschiedene Objekte oder konkrete Unterklassen



## Naryxus (14. Nov 2016)

Hey,

ich schreibe momentan ein kleines Programm, das verschiedene Helden beinhalten soll. Ein Held hat verschiedene Eigenschaften, wie _Geschlecht_, _Element _oder _Rasse_.

Prinzipiell würde ich das in einer Klasse *Hero* modellieren mit verschiedenen Enums.
Allerdings gibt es eigentlich nur spezielle, "vorgefertigte" Helden.

Deshalb wäre meine Frage, wie man das am besten lösen kann. Mir sind zwei verschiedene Lösungen in den Sinn gekommen:


Man erstellt für jeden Helden eine finale Unterklasse von *Hero*, bei der man die entsprechenden Attribute fest implementiert oder
Man erstellt eine Art *HeroFactory*, bei der in einer _Map_ von _String_ auf _Hero _die verschiedenen Helden der Klasse *Hero* mit ihrem entsprechenden Namen hinterlegt sind.

Ich hoffe meine Ausführungen sind einigermaßen verständlich.

Wie denkt ihr denn so über das Thema?


----------



## mrBrown (14. Nov 2016)

Ganz klar Variante 2.

Bei Variante 1 landest du letztendlich auch bei einer Factory zum erstellen der jeweiligen, siehts dann die überflüssigen Code-Dopplungen und landest damit bei 2


----------

