instanceof оператори ва PHP да ООП да мерос

Келгила, instanceof операторини қўллаганда мероснинг хусусиятларини кўриб чиқайлик. Бизда ота синф ва фарзанд синф мавжуд:

index.php<?php
  // Ота синф:
  class ParentClass
  {
    
  }
  
  // Фарзанд синф:
  class ChildClass extends ParentClass
  {
    
  }
?>

Фарзанд синфнинг объектини яратамиз:

index.php<?php
  $obj = new ChildClass;
?>

Энди instanceof ёрдамида бизнинг объектимиз ParentClass синфига ва ChildClass синфига тегишлилигини текширамиз:

index.php<?php
  var_dump($obj instanceof ChildClass);  // true чиқади
  var_dump($obj instanceof ParentClass); // ҳам true чиқади
?>

Мисолдан кўриниб турганидек - instanceof оператори текширув жараёнида ота ва фарзанд синфлар ўртасида фарқ қилмайди.

Адашиб кетманг - агар объект ҳақиқатан ҳам ота синфдан бўлса, албатта, фарзанд синфга тегишлиликни текшириш false қайтаради:

php<?php
  $obj = new ParentClass; // ота синфнинг объекти
  
  var_dump($obj instanceof ParentClass); // true чиқади
  var_dump($obj instanceof ChildClass);  // false чиқади
?>
Задание 1

User синфини яратинг, умумхол қилинган name ва surname хоссалари билан.

Задание 2

User синфидан мерос олувчи Employee синфини яратинг ва унга salary хоссасини қўшинг.

Задание 3

Умумхол қилинган name ва population хоссалари билан City синфини яратинг.

Задание 4

User синфидан 3 та объект, Employee синфидан 3 та объект, City синфидан 3 та объект яратинг ва уларни тасодифий тартибда $arr массивига киритинг.

Задание 5

$arr массивини цикл ёрдамида айлантириб чикинг ва User синфига ёки ушбу синфнинг авлодига тегишли бўлган объектларнинг name хоссаларини экранга ustun шаклида чикаринг.

Задание 6

$arr массивини цикл ёрдамида айлантириб чикинг ва User синфига ёки ушбу синфнинг авлодига тегишли бўлмаган объектларнинг name хоссаларини экранга ustun шаклида чикаринг.

Задание 7

$arr массивини цикл ёрдамида айлантириб чикинг ва айнан User синфига тегишли бўлган, яъни City синфига ва Employee синфига тегишли бўлмаган объектларнинг name хоссаларини экранга ustun шаклида чикаринг.