Opereta instanceof na Urithi katika OOP katika PHP
Wacha tuchambue sifa za urithi wakati wa kutumia
opereta instanceof. Hebu tuseme tuna darasa la mzazi
na darasa la mtoto:
<?php
// Darasa la mzazi:
class ParentClass
{
}
// Darasa la mtoto:
class ChildClass extends ParentClass
{
}
?>
Wacha tuunde kitu cha darasa la mtoto:
<?php
$obj = new ChildClass;
?>
Wacha tuangalie sasa kwa kutumia instanceof,
kama kitu chetu ni cha darasa ParentClass
na darasa ChildClass:
<?php
var_dump($obj instanceof ChildClass); // itatoa true
var_dump($obj instanceof ParentClass); // pia itatoa true
?>
Kama unavyoona kutoka kwa mfano - opereta instanceof
hufanyi tofauti wakati wa ukaguzi kati ya madarasa ya mzazi
na ya watoto.
Usichanganyikiwe - ikiwa kitu kitakuwa cha
darasa la mzazi basi, bila shaka, ukaguzi
wa kuwa mwanachama wa darasa la mtoto utarudisha
false:
<?php
$obj = new ParentClass; // kitu cha darasa la mzazi
var_dump($obj instanceof ParentClass); // itatoa true
var_dump($obj instanceof ChildClass); // itatoa false
?>
Fanya darasa User na sifa za umma
name na surname.
Fanya darasa Employee, ambalo litakuwa
linarithi kutoka kwa darasa User na kuongeza
sifa salary.
Fanya darasa City na sifa za umma
name na population.
Unda 3 vitu vya darasa User,
3 vitu vya darasa Employee,
3 vitu vya darasa City, na kwa
mpangilio wa kiholela andika kwenye safu
$arr.
Kagua kwa mzunguko safu $arr na uonyeshe
kwenye skrini safu wima ya sifa name za
vile vitu, ambavyo ni mwanachama wa darasa User
au kizazi cha darasa hili.
Kagua kwa mzunguko safu $arr na uonyeshe
kwenye skrini safu wima ya sifa name za
vile vitu, ambavyo si mwanachama wa darasa User
wala kizazi cha darasa hili.
Kagua kwa mzunguko safu $arr na uonyeshe
kwenye skrini safu wima ya sifa name za
vile vitu, ambavyo ni mwanachama wa darasa User
hasa, yaani si darasa City
wala darasa Employee.