⊗ppOpIhOI 36 of 107 menu

Operador instanceof y herencia en POO en PHP

Analicemos las características de la herencia al usar el operador instanceof. Supongamos que tenemos una clase padre y una clase hija:

<?php // Clase padre: class ParentClass { } // Clase hija: class ChildClass extends ParentClass { } ?>

Creemos un objeto de la clase hija:

<?php $obj = new ChildClass; ?>

Ahora verifiquemos usando instanceof, si nuestro objeto pertenece a la clase ParentClass y a la clase ChildClass:

<?php var_dump($obj instanceof ChildClass); // devolverá true var_dump($obj instanceof ParentClass); // también devolverá true ?>

Como puede ver en el ejemplo, el operador instanceof no hace distinción al verificar entre clases padre y clases hija.

No se confunda: si el objeto es realmente de la clase padre, entonces, por supuesto, la verificación de pertenencia a la clase hija devolverá false:

<?php $obj = new ParentClass; // objeto de la clase padre var_dump($obj instanceof ParentClass); // devolverá true var_dump($obj instanceof ChildClass); // devolverá false ?>

Cree una clase User con propiedades públicas name y surname.

Cree una clase Employee que herede de la clase User y agregue la propiedad salary.

Cree una clase City con propiedades públicas name y population.

Cree 3 objetos de la clase User, 3 objetos de la clase Employee, 3 objetos de la clase City, y en un orden arbitrario, guárdelos en un array $arr.

Recorra en ciclo el array $arr y muestre en pantalla la columna de propiedades name de aquellos objetos que pertenezcan a la clase User o a una clase descendiente de esta.

Recorra en ciclo el array $arr y muestre en pantalla la columna de propiedades name de aquellos objetos que no pertenezcan a la clase User o a una clase descendiente de esta.

Recorra en ciclo el array $arr y muestre en pantalla la columna de propiedades name de aquellos objetos que pertenezcan específicamente a la clase User, es decir, que no sean de la clase City ni de la clase Employee.

Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar