enum und Vererbung

Status
Nicht offen für weitere Antworten.

Clip

Bekanntes Mitglied
Hallo!

ich habe zwei Klassen (A,B), wobei B A erbt. In A ist ein enum Feld ImageSize. B hat ebenfalls ein enum ImageSize. In A gibt es eine Methode zum setzen bestimmer Parameter die in Abhängigkeit zum enum Feld gesetzt werden.
Jetzt möchte ich, dass wenn ich ein Object der Klasse B habe, das dieses Object die Methode in der Elternklasse A mit seinem ImageSize enum Feld durchführt.
Wie geht das? geht das überhaupt?
A:
Code:
public class BasicImageProvider {
	
	protected enum ImageSize {	
		SMALL("Icons/16x16/") ,
		MEDIUM("Icons/24x24/") ,
		BIG("Icons/32x32/"),
		HUGE("Icons/48x48/") ;	
		private String name;
		private ImageSize(String name ){
		   this.name = name;
		}
		public String getName(){
		   return name;
		}		
	}

	public BasicImageProvider(String image, BasicImageSize size) {
		this.image = image;
		setSize(size);
	}

// code .....

Die Methode welche dafür da ist Größe zu setzten, und von B indirekt durch den Konstruktoraufruf von A angesprungen wird:
Code:
	protected void setSize(BasicImageSize size){
		switch (size) {
		case SMALL:
			imageSize = ImageSize.SMALL;
			break;
		case MEDIUM:
			imageSize = ImageSize.MEDIUM;
			break;		
		case BIG:
			imageSize = ImageSize.BIG;
			break;		
		case HUGE:
			imageSize = ImageSize.HUGE;
			break;						
		default:
			imageSize = ImageSize.MEDIUM;
		}		
	}

und B mit dem enum ImageSize in dem die Pfadangaben etwas anders sind Dieses Feld soll in der oberen Methode bekannt sein:
Code:
public class RackImageProvider extends BasicImageProvider implements IRackImageKeys{
	
	private enum ImageSize {	
		SMALL("Icons/Rack/16x16/") ,
		MEDIUM("Icons/Rack/24x24/") ,
		BIG("Icons/Rack/32x32/"),
		HUGE("Icons/Rack/48x48/") ;	
		private String name;
		private ImageSize(String name ){
		   this.name = name;
		}
		public String getName(){
		   return name;
		}		
	}	
	
	private ImageSize imageSize;
		
	public RackImageProvider(String image, BasicImageSize size) {
		super(image, size);
	}
}
 

DEvent

Bekanntes Mitglied
Was soll dieses Wirrwarr ?
Mach doch einfach ImageSize öffentlich und benutze es konzequent für alles.
BasicImageProvider.ImageSize und RackImageProvider.ImageSize haben doch eh die selben Enum-Felder.

Protected heißt, das es sichtbar ist im selben package und in einer Subklasse.
Also fremde Klassen können nur dann BasicImageProvider.ImageSize sehen, wenn sie im selben package sind.
 

byte

Top Contributor
Enums sind immer per default public static, völlig egal was Du da ranschreibst. Der Zugriff erfolgt genauso wie bei normalen public static Methoden oder Variablen. Wenn die beiden Enums bei Dir eh identisch sind, dann kannst Du Dir eine von beiden schenken. Und dann könntest Du auch gleich überlegen, ob Du die Enum in ne eigene Datei auslagerst.
 

DEvent

Bekanntes Mitglied
byto hat gesagt.:
Enums sind immer per default public static, völlig egal was Du da ranschreibst. Der Zugriff erfolgt genauso wie bei normalen public static Methoden oder Variablen. Wenn die beiden Enums bei Dir eh identisch sind, dann kannst Du Dir eine von beiden schenken. Und dann könntest Du auch gleich überlegen, ob Du die Enum in ne eigene Datei auslagerst.
hm muss ich mal ausprobieren. Ich hatte Enums noch nie was anderes als public.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Best Practice Generics mit Enum Allgemeine Java-Themen 3
Drachenbauer Wie kann ich einer existierenden Enum von außerhalb veränderte Werte zuweisen? Allgemeine Java-Themen 5
A Ist ein enum hier richtig? Enum toString() Methode. Allgemeine Java-Themen 1
E Eigenen "Aufzählungstyp" erstellen - mit enum ? Allgemeine Java-Themen 18
I Enum gegen Enum tauschen Allgemeine Java-Themen 1
F Enum-werte als Methoden-Parameter übergeben Allgemeine Java-Themen 6
Neumi5694 Interface Generics für Enum-Filterung verwenden Allgemeine Java-Themen 5
perlenfischer1984 TestNG - Enum testen Allgemeine Java-Themen 1
I Setzen und Lesen eines Objektes (Enum?) Allgemeine Java-Themen 10
Q Enum Allgemeine Java-Themen 3
F Enum und Klasseninhalt Allgemeine Java-Themen 1
K Enum mit switch Allgemeine Java-Themen 2
D Enum Kategorien Allgemeine Java-Themen 10
C Datentypen Enum-Werte Bestanteil von anderem Enum Allgemeine Java-Themen 8
M Enum austauschbar machen Allgemeine Java-Themen 3
Rudolf State Pattern als Enum? Allgemeine Java-Themen 10
E Klassen Enum überladen od. austauschbar machen? Allgemeine Java-Themen 2
EnHancEd[] kurze enum-Frage Allgemeine Java-Themen 4
X Java findet eine Enum Klasse nicht Allgemeine Java-Themen 2
A Dynamisches Enum? Allgemeine Java-Themen 2
E Wert von enum zur Laufzeit festlegen. Allgemeine Java-Themen 5
D Methode für generische enummap/enum Allgemeine Java-Themen 10
D Array oder Vector in Enum Deklarieren Allgemeine Java-Themen 3
L HashMap mit Enum Keys Allgemeine Java-Themen 3
G Enum mit Array Allgemeine Java-Themen 3
D Wie prüfen, ob ein String Teil eines Enum Types ist? Allgemeine Java-Themen 12
H2SO3- Enum mit Java 1.4 Allgemeine Java-Themen 6
S Erstes Enum bekommen? Allgemeine Java-Themen 2
M Verständnis enum - switch Allgemeine Java-Themen 2
R Java enum switch Allgemeine Java-Themen 11
S Enum-Class valueOf Function? Allgemeine Java-Themen 1
R Java enum Allgemeine Java-Themen 5
J Enum Problem: compiliert nicht mit Sun's compiler. Allgemeine Java-Themen 2
V Wie Enum an Funktion "übergeben" ? Allgemeine Java-Themen 4
N Java und Enum Allgemeine Java-Themen 3
GilbertGrape persistentes Enum oder Konstanten? Allgemeine Java-Themen 3
G enum Integer zuweisen Allgemeine Java-Themen 14
G class, interface, or enum exp? Allgemeine Java-Themen 2
P enum Allgemeine Java-Themen 7
S Java Enum und ordinal() Allgemeine Java-Themen 4
S Enum Fehler Allgemeine Java-Themen 17
C Enum-namespace ? Allgemeine Java-Themen 5
G Effizienz von enum vs. Konstanten Allgemeine Java-Themen 4
K Warunung und Fehler bei Enum.valueOf Allgemeine Java-Themen 2
C enum Strings mit punkt ? Allgemeine Java-Themen 3
J Enum in Java Allgemeine Java-Themen 19
U Vererbung?! Allgemeine Java-Themen 15
temi Problem mit Aufrufreihenfolge bei Vererbung Allgemeine Java-Themen 3
MiMa Vererbung und Komposition?? Allgemeine Java-Themen 38
Kirby.exe Vererbung bei Generics Allgemeine Java-Themen 7
L Vererbung Verständnis Probleme Vererbung Allgemeine Java-Themen 2
W Generics + Vererbung Allgemeine Java-Themen 47
M Vererbung mithilfe von Bluej Allgemeine Java-Themen 3
M List -Tableview-Javafx-Vererbung Allgemeine Java-Themen 35
A Vererbung Selbstreferenzparameter Allgemeine Java-Themen 14
D Thema: Vererbung Ober-/Unterklassen Allgemeine Java-Themen 16
D Frage zu Vererbung Allgemeine Java-Themen 5
N Vererbung mit GUI Allgemeine Java-Themen 9
E Vererbung Countable mit Vererbung Allgemeine Java-Themen 6
J 2 Fragen zur Vererbung Allgemeine Java-Themen 5
T Javaklassen und vererbung Allgemeine Java-Themen 32
F Vererbung Allgemeine Java-Themen 5
Neumi5694 Vererbung Restriktive Vererbung Allgemeine Java-Themen 4
A Vererbung Übungsaufgabe Vererbung - Erstellung Klassenhierarchie Allgemeine Java-Themen 1
J Allgemeine Fragen zu Vererbung Allgemeine Java-Themen 1
kaoZ Generics und Vererbung Allgemeine Java-Themen 3
D Problem bei Vererbung abstrakter Klassen Allgemeine Java-Themen 6
D Object nach Vererbung mit Class Object überprüfen Allgemeine Java-Themen 4
T Super Klasse Vererbung Problem :/ Allgemeine Java-Themen 10
L Unabhängige Auslieferung bei Vererbung Allgemeine Java-Themen 20
S MVC - Vererbung Allgemeine Java-Themen 4
C Enums und Vererbung Allgemeine Java-Themen 6
F Google Guice + Generics + Vererbung Allgemeine Java-Themen 5
D Unterschied Vererbung und Polymorphie? Allgemeine Java-Themen 4
K Vererbung ohne Basisklasse zu kennen Allgemeine Java-Themen 20
Da_Tebe ArrayList<xyz> Verschachtelung oder Vererbung? Allgemeine Java-Themen 6
faetzminator statische Variablen in Interface - Vererbung? Allgemeine Java-Themen 9
M OOP PropertyChangeListener - Vererbung oder Komposition? Allgemeine Java-Themen 5
S OOP Mehrfache Vererbung von abstrakten Klassen Allgemeine Java-Themen 7
G Designfrage Vererbung ja oder nein Allgemeine Java-Themen 9
S equals - Identität ändern bei Vererbung? Allgemeine Java-Themen 5
dayaftereh Vererbung Hilfe Allgemeine Java-Themen 2
D Vererbung, Reflection und automatischer Methodenaufruf Allgemeine Java-Themen 24
A PropertyChangeListener Vererbung Allgemeine Java-Themen 4
P DefaultTreeCellRenderer Vererbung Allgemeine Java-Themen 5
S Objekte die Objekte enthalten: Keine Vererbung Allgemeine Java-Themen 4
J Vererbung bei abstrakten Klassen Allgemeine Java-Themen 2
S Vererbung: Welche Methode wird verwendet? Allgemeine Java-Themen 9
L Checkstyle: Wann ist eine Methode für Vererbung entworfen? Allgemeine Java-Themen 13
S normale vererbung als interface Allgemeine Java-Themen 2
S statische Methoden und Vererbung Allgemeine Java-Themen 6
R Vererbung - doppelte Paint-Methode Allgemeine Java-Themen 4
R Vererbung mit Interface und Abstract Allgemeine Java-Themen 3
B Vererbung bei enums ? Allgemeine Java-Themen 3
W Frage zu Vererbung / konkretes Beispiel Allgemeine Java-Themen 4
F Vererbung von SessionBeans Allgemeine Java-Themen 3
O abstract, privat, Vererbung Allgemeine Java-Themen 29
L Annotations mit Vererbung Allgemeine Java-Themen 4
M Singleton und Vererbung? Allgemeine Java-Themen 45
T Problem mit Vererbung Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben