2016-06-21 16 views
-3

A、B、C、Dの4つのクラスがある場合クラスBとCはクラスAを拡張し、クラスDはクラスCを拡張します。instanceof演算子は兄弟クラスinstance-ofsを考慮していますか?

+1

B' 'のインスタンスは、 'C'のインスタンスでしょうか? **いいえ**。しかし、 'B'は' A'のインスタンスになります( 'C'と同じように)。 –

+0

'instanceof'を' childOf'と考えてください。 '子どものBさん'?いいえ。「B childOf A'?はい。他のニュースでは、 'instanceof'は通常、貧弱なオブジェクト指向設計を通知します。 – 4castle

+0

あなたがあなたの質問をよりよくフォーマットしたなら、あなたは投票を受け取りませんでした。 –

答えて

0

いいえ「兄弟」です。クラスCとクラスBは両方ともAのインスタンスですが、それらは互いにインスタンスではありません。

次のテストでは、以下が

A instanceof B 
A instanceof C 
C instanceof D 

子クラスが親のインスタンスではなく、反対であることを

B instanceof A 
C instanceof A 
D instanceof C 

注意です。それは、親が子どもがどのような新しい行動をしているのか分からないためですが、子供は親からのすべての行動を継承します。このスレッドに

さらに詳しい情報:Does instanceof return true if instance of a parent?

関連する問題