Object::IsInstanceOf(aClass) は、引数にクラス(aClass)を取り、あ るインスタンスがそのクラスから生成されたものかどうかの真偽値を返します。
aClassがインスタンスの生成元クラス、あるいは、生成元クラスのスーパーク ラスである場合に真となります。
基本データ型に対するカプセルクラスのチェックも行えます。
例えば、下記のようなクラスA,B,Cと、そのインスタンスa,b,cがある場合、
class A { .. }
class B : A { .. }
class C : A { .. }
var a = new A, b = new B, c = new C ;
各インスタンスにおける、IsInstanceOf() の真偽値は以下のよ うになります。
a->IsInstanceOf(A) | 真 | |
a->IsInstanceOf(B) | 偽 | |
a->IsInstanceOf(C) | 偽 | |
b->IsInstanceOf(A) | 真 | |
b->IsInstanceOf(B) | 真 | |
b->IsInstanceOf(C) | 偽 | |
c->IsInstanceOf(A) | 真 | |
c->IsInstanceOf(B) | 偽 | |
c->IsInstanceOf(C) | 真 |
また、基本データ型に関しては、下記のデータ型とカプセルクラスの組合せの み真となります。
void->IsInstanceOf( Void) |
<整数値>->IsInstanceOf( Integer) |
<実数値>->IsInstanceOf( Real) |
<文字列値>->IsInstanceOf( String) |
<シンボル値>->IsInstanceOf( Symbol) |
<配列値>->IsInstanceOf( Array) |