"Merhaba Amigo! instanceof operatörü ile zaten tanışmıştınız . Bugün size nasıl ve nerede kullanılabileceğini anlatacağım. instanceof çok basit ve verimli bir operatör."
"Kulağa bir reklam gibi geliyor!"
"Gerçekten çok basit. Şu şekilde kullanılıyor: «object» instanceof «class» ."
Bir nesnenin belirli bir sınıfın örneği olup olmadığını kontrol eder. Açıklamaktan daha kolay. Şu örneğe bakın:
kod | Tanım |
---|---|
|
isInt doğru olacaktır . o değişkeni tarafından başvurulan nesne, Tamsayı sınıfının bir örneğidir. |
|
isInt false olacaktır . o değişkeni tarafından başvurulan nesne, Tamsayı sınıfının bir örneği değil . Bu bir String nesnesidir. |
|
isFIS doğru olacaktır . o değişkeni tarafından başvurulan nesne, FileInputStream sınıfının bir örneğidir. |
"Evet, bu çok basit."
"Bu işleç aynı zamanda kalıtımı da hesaba katar. Kontrol edin."
kod | Tanım |
---|---|
|
Burada üç sınıf bildirimimiz var: Animal, Cat ve Tiger. Kedi, Hayvanı miras alır. Ve Tiger, Cat'i miras alır. |
|
isCat doğru olacaktır . isTiger doğru olacaktır . isAnimal doğru olacaktır . |
|
isCat yanlış olacaktır . isTiger yanlış olacaktır . isAnimal doğru olacaktır . |
Ve hatta arayüzler:
kod | Tanım |
---|---|
|
İki sınıf oluşturun: Cat, TomCat ve Moveable arabirimi |
|
isCat doğru olacaktır . isMoveable true olacaktır . isTom doğru olacaktır . |
|
isCat doğru olacaktır . isMoveable false olacaktır . isTom false olacaktır . |
instanceof operatörü şöyle görünür: a instanceof B .
Başka bir deyişle, instanceof operatörü şu durumlarda true değerini döndürür :
1) a değişkeni, B tipi bir nesneye referans depolar
2) a değişkeni, sınıfı B'yi miras alan bir nesneye referans depolar
3) a değişkeni, B arayüzünü uygulayan bir nesneye referans depolar
Aksi takdirde, instanceof operatörü false döndürür .
"Anladım. Peki bu neden gerekli, Rishi Amca?"
"Ellie bugün sana bundan bahsedecek. Bu gerçekten güzel bir operatör. Bugün buna ikna olacaksın."