Intelligente Methode, Superklasse zu überprüfen

7
%Vor%

Ich denke, dieser Code ist ziemlich selbsterklärend. Gibt es einen klügeren Weg, dies zu tun?

Danke

    
Francisco P. 02.04.2011, 15:08
quelle

3 Antworten

9

Wenn Sie nicht nur die allererste Oberklasse überprüfen möchten, verwenden Sie am besten:

%Vor%

Ihre Methode wäre damit besser:

%Vor%

Der Aufruf von toString() ist nicht die beste Idee.

Oder besser noch, wie von Ulrik gepostet:

%Vor%     
Mat 02.04.2011, 15:11
quelle
11

(action instanceof logic.UserBehaviour) gibt true zurück, wenn action ein Objekt eines Typs ist, der UserBehavior erweitert.

Ein Auszug aus Ссылка

  

Der Typvergleichsoperator   instanceof

     

Der Operator instanceof vergleicht ein   Objekt zu einem bestimmten Typ. Sie können   Benutze es um zu testen ob ein Objekt ein ist   Instanz einer Klasse, eine Instanz von a   Unterklasse oder eine Instanz einer Klasse   das implementiert ein bestimmtes   Schnittstelle.

     

Das folgende Programm, InstanceofDemo,   definiert eine Elternklasse (genannt Parent),   eine einfache Schnittstelle (benannt   MyInterface), und eine Kindklasse (genannt   Kind), das vom Elternteil erbt   und implementiert die Schnittstelle.

%Vor%

Ausgabe:

%Vor%

Beachten Sie bei der Verwendung des instanceof-Operators, dass null keine Instanz von irgendetwas ist.

    
Speck 02.04.2011 15:11
quelle
5

Wenn Sie nur die allererste Oberklasse überprüfen möchten:

%Vor%

Sonst:

%Vor%     
Ulrik 02.04.2011 15:20
quelle

Tags und Links