Polymorphie-Problem

Cavana

Neues Mitglied
Hey Leute,

ich habe mir eine abstrakte Vaterklasse Eigenschaft und 2 Unterklassen Status und Wert erstellt, die jeweils von Eigenschaft erben.

Nun möchte ich ein Array anlegen vom Typ Eigenschaft und da Objekte der Klassen Wert und Status drin speichern. Wenn ich eine Methode, die nur in Wert deklariert ist (auch nicht in Eigenschaft), auf ein Objekt anwenden will, dann meckert der Compiler, dass er die Methode in der Klasse Eigenschaft nicht findet (logisch).

Durch ne Abfrage gehe ich auch sicher, dass sich an dieser einen Stelle im Array auch wirklich ein Objekt der Klasse Wert befindet, auf das ich die Methode eigentlich anwenden könnte.

Meine Frage: Was muss ich machen, damit ich auf ein Objekt der Unterklasse eine Methode anwenden kann, ohne, dass sie in Eigenschaft deklariert ist? Der Punkt ist, dass Objekte der Klasse Status genau diese Methode nicht haben soll, weshalb ich sie auch nicht in Eigenschaft deklarieren will.

Vielen Dank & Liebe Grüße =)
 
Casten

Java:
Eigenschaft e = new Wert();

Wert w = (Wert)e;
w.methodeAusWert();

// Kürzer
((Wert)e).methodeAusWert();
 
@LimDul Danke für deine Antwort!

Wenn ich das dann gecastet habe, kann ich dann noch Methoden, die ich in Eigenschaft definiert habe, auf ein Objekt des Typs Wert anwenden?
Ich würde jetzt sagen ja, weil Wert ja von Eigenschaft erbt, auch die Methoden.
 

Neue Themen


Zurück
Oben