باستخدام عامل التشغيل
instanceof
، يمكنك معرفة الفئة التي ينتمي إليها الكائن. يحتوي هذا المشغل على وسيطتين. على اليسار يوجد مرجع للكائن، وعلى اليمين اسم النوع الذي يتم التحقق من توافق الكائن معه. على سبيل المثال:
Parent р = new Child(); // проверяем переменную р типа Parent
//на совместимость с типом Child print(p instanceof Child);
وستكون النتيجة صحيحة . وبالتالي، فإن العامل instanceof
لا يعتمد على نوع المرجع، بل على خصائص الكائن الذي يشير إليه. لكن هذا العامل يُرجع قيمة حقيقية ليس فقط للنوع الذي تم اشتقاق الكائن منه. دعنا نضيف فئة أخرى إلى الفئات المعلنة بالفعل:
// Объявляем новый класс и наследуем
// его от класса Child
class ChildOfChild extends Child {}
الآن لنقم بإنشاء متغير من نوع جديد:
Parent p = new ChildOfChild();
print(p instanceof Child);
يعلن السطر الأول عن متغير من النوع Parent
، والذي تتم تهيئته بمرجع إلى كائن مشتق من ChildOfChild
. في السطر الثاني، يحلل البيان instanceof
توافق مرجع النوع Parent
مع الفئة Child
، والكائن المعني غير مشتق من الفئة الأولى أو الثانية. ومع ذلك، سيعيد عامل التشغيل القيمة true لأن الفئة التي يُشتق منها هذا الكائن ترث من Child
. رابط إلى المصدر الأصلي: عامل التشغيل
GO TO FULL VERSION