Оператори 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

Синфи Employee-ро созед, ки аз синфи User мерос мегирад ва хосияти salary-ро илова мекунад.

Задание 3

Синфи City-ро бо хосиятҳои ҷамъиятии name ва population созед.

Задание 4

3 объекти синфи User, 3 объекти синфи Employee, 3 объекти синфи City эҷод кунед, ва ба тартиби ихтиёрӣ онҳоро дар массив $arr сабт кунед.

Задание 5

Массиви $arr-ро бо сикли гузаред ва дар экран сутуни хосиятҳои name-и он объектҳоро, ки ба синфи User ё наслҳои ин синф тааллуқ доранд, чоп кунед.

Задание 6

Массиви $arr-ро бо сикли гузаред ва дар экран сутуни хосиятҳои name-и он объектҳоро, ки ба синфи User ё наслҳои ин синф тааллуқ надоранд, чоп кунед.

Задание 7

Массиви $arr-ро бо сикли гузаред ва дар экран сутуни хосиятҳои name-и он объектҳоро, ки аниқан ба синфи User тааллуқ доранд, яъне ба синфи City ва на синфи Employee тааллуқ надоранд, чоп кунед.