⊗ppOpIhCOM 29 of 107 menu

Pārrakstītas metodes izsaukšana OOP PHP

Pārrakstot, pēctecis zaudē piekļuvi pārrakstītajai metodei vecāka. Tomēr, piekļūt tai joprojām ir iespējams. Tas tiek darīts izmantojot atslēgvārdu parent, kas norāda uz vecāka klasi.

Apskatīsim piemēru, kad mums varētu būt nepieciešama piekļuve vecāka metodei. Pieņemsim, ka mums ir šāda vecāka klase:

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

Pieņemsim, ka mēs pēcteča klasē pārrakstījām vecāka metodi:

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

Var pamanīt, ka pārrakstītajā metodē, izpildot nosacījumu, faktiski tiek izpildīts vecāka metodes kods. Izrādās nevajadzīgs koda dublējums.

No tā var atbrīvoties, ja izsauc vecāka metodi. Darīsim to:

<?php class Student extends User { public function setName($name) { if (strlen($name) > 0) { parent::setName($name); // vecāka metode } else { echo 'student name error'; } } } ?>

Dots šāds kods:

<?php class User { private $age; public function setAge($age) { if ($age >= 0) { $this->age = $age; } else { echo 'need age more 0'; } } } class Employee extends User { public function setAge($age) { if ($age <= 120) { if ($age >= 0) { $this->age = $age; } else { echo 'need age more 0'; } } else { echo 'need age less 120'; } } } ?>

Klasē Employee izlabojiet vienkāršojiet vecuma setteri, izmantojot oriģinālo vecāka metodi.

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt