Cast

  • Themenstarter Themenstarter Guest
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

Guest

Gast
hi,
hab mir etwas schwer getan, den titel genauer zu bennen...hoffe ihr seit net böse =)

um es ganz kurz zu halten, es gibt in der api eine bestimmte klasse, nennen wir sie mal class A. Nun war mir das verhalten dieser klasse nicht ausreichend, deshalb habe ichs in meiner eigenen klasse angepasst -> class myA extends A.

d.h. originale api klasse -> A
meine klasse -> myA die von A erbt.

nun wird aber eine instanz von A nicht über new angelegt, sondern über eine andere klasse ->
B b = new B(...);
A a = (A) b.getInstance();

wie kann ich das nun zu meiner klasse casten? denn ich bekomme bei (myA) b.getInstance() immer eine class cast exception...


mfg
 
Dann wird b.getInstance wohl nur A und nicht MyA zurückliefern. Entweder musst du B so anpassen, dass Sie MyA zurückgibt, oder du spendierst deiner MyA eine Methode um aus einem A ein MyA zu machen (übernahme der Attribute aus A).

Ist B eine (abstrakte) Fabrik?
 
Wenn B sowieso eine Fabrik ist, was spricht dann gegen eine Implementierung von MyB-Fabrik? MyA sollte ja ohnehin die Schnittstellen von A richtig implementiert haben.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben