⊗ppOpIhOPM 28 of 107 menu

Sobrescritura de métodos padre en POO en PHP

Una clase hija puede sobrescribir un método del padre, creando un método con el mismo nombre. Veamos un ejemplo. Supongamos que tenemos la siguiente clase padre:

<?php class User { private $name; public function setName($name) { $this->name = $name; } public function getName() { return $this->name; } } ?>

Creemos un método homónimo en la clase hija:

<?php class Student extends User { public function setName($name) { } } ?>

Generalmente, la sobrescritura de métodos padre se necesita para cambiar o complementar el comportamiento de ese método. En nuestro caso, agreguemos una verificación de la longitud del nombre:

<?php class Student extends User { public function setName($name) { if (strlen($name) > 0) { $this->name = $name; } else { echo 'student name error'; } } } ?>

Asegurémonos de que se invoca exactamente el método sobrescrito. Primero creemos un objeto de la clase hija:

<?php $student = new Student; ?>

Ahora invoquemos nuestro método, pasándole un valor correcto:

<?php $student->setName('john'); ?>

Y ahora invoquemos el método, pasándole un valor incorrecto. Como resultado veremos una excepción lanzada:

<?php $student->setName(''); // error ?>

En la clase User haga un getter y un setter para la edad.

En la clase Employee sobrescriba el setter de edad y haga en él una verificación de que la edad esté entre 18 y 65 años.

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