instanceof unschön !

Status
Nicht offen für weitere Antworten.
Y

Yazid

Gast
Hallo,
hin und wieder höre ich, dass der Einsatz von "instanceof" unschön sein soll. Ich stelle dem jetzt mal die dilletantische Aussage, dass dies immerhin ein java Schlüsselwort ist.
Warum soll ich also soweit möglich darauf verzichten ?!

Wer kann das plausibel erklären?
 

deleted

Bekanntes Mitglied
Unschön - keine Ahnung.
Ich brauche es allerdings auch quasi nie.
Könnte sein, dass das Ganze wenn du es intensiv nutzt zu Frickelcode führt (so wie GOTO).
Aber prinzipiell kann ich darin nix böses sehen...
 
S

SlaterB

Gast
besonders unschön ist daran die Klammerung
Code:
if (!(x instanceof y)) {
da mag ich doch lieber
Code:
if (!y.class.isInstance(x)) {
 

byte

Top Contributor
Viel instanceof bedeutet, dass der Entwurf viele disjunkte Typen besitzt ohne gemeinsame Schnittstellen. Das ist unschön, weil man dann jeden Typ gesondert behandeln muss. Besser: Gemeinsamkeiten der Objekte herausarbeiten (gleiche Schnittstellen durch Vererbung oder Interfaces), um sie somit einheitlich behandeln zu können.
 

Marco13

Top Contributor
Ich behaupte mal, dass man JEDE Verwendung von instanceof durch ein "besseres" Klassendesign umgehen könnte - so wie byto schon angedeutet hat. Meistens (nicht immer, aber meistens) sind die Stellen, wo "instanceof" verwendet wird, genau die Stellen, wo eigentlich Polymorphie greifen sollte. Allerdings kann der Aufwand, der für ein "perfektes" (also instanceof-freies) Klassendesign notwendig wäre in keinem Verhältnis zum dafür erforderlichen Aufwand stehen, so dass man es zwar einsetzen kann, das aber so selten wie möglich tun (oder notwendig sein) sollte.
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben