Operator ulanyp
instanceof
, obýektiň haýsy synpdan gelendigini bilip bilersiňiz. Bu operatoryň iki argumenti bar. Çep tarapda obýekte salgylanma, sag tarapda obýektiň gabat gelýändigi barlanylýan görnüşiň ady ýerleşýär. Mysal üçin:
Parent р = new Child(); // проверяем переменную р типа Parent
//на совместимость с типом Child print(p instanceof Child);
Netije dogry bolar . Şeýlelik bilen, operator instanceof
salgylanmanyň görnüşine däl-de, ýüzlenýän obýektiň häsiýetlerine daýanýar. Emma bu operator diňe bir obýektiň alnan görnüşi üçin hakyky bahany yzyna gaýtarmaýar. Öň yglan edilen sapaklara ýene birini goşalyň:
// Объявляем новый класс и наследуем
// его от класса Child
class ChildOfChild extends Child {}
Indi täze görnüşiň üýtgeýjisini döredeliň:
Parent p = new ChildOfChild();
print(p instanceof Child);
Parent
Birinji setir , alnan bir obýekte salgylanmak bilen başlanýan görnüşiň üýtgeýjisini yglan edýär ChildOfChild
. Ikinji setirde jümle görnüşli salgylanmanyň synp bilen instanceof
laýyklygyny seljerýär we çekilen obýekt birinji ýa-da ikinji synpdan alynmaýar. Şeýle-de bolsa, operator hakykata gaýdyp geler , sebäbi bu obýektiň alnan synpy miras alýar . Asyl çeşmä baglanyşyk: Operator mysalyParent
Child
Child
GO TO FULL VERSION