⊗ppOpIhCOM 29 of 107 menu

Oproep van 'n oorgeskrewe metode in OOP in PHP

Met oorskrywing verloor die nakomeling toegang tot die oorgeskrewe metode van die ouer. Tog is dit steeds moontlik om toegang daartoe te verkry. Dit word gedoen met die sleutelwoord parent, wat na die ouerklas verwys.

Kom ons kyk na 'n voorbeeld wanneer ons toegang tot die ouermetode mag benodig. Gestel ons het die volgende ouerklas:

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

Gestel ons het die metode van die ouer in die nakomelingklas oorgeskryf:

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

Dit kan opgemerk word dat in die oorgeskrewe metode, wanneer die voorwaarde vervul word, dit in werklikheid die kode van die ouermetode uitvoer. Dit lei tot onnodige duplikasie van kode.

Dit kan vermy word deur die ouermetode aan te roep. Kom ons doen dit:

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

Die volgende kode word gegee:

<?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'; } } } ?>

In die klas Employee, reg vereenvoudig die leeftyd-setter deur die oorspronklike metode van die ouer te gebruik.

Afrikaans
AzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ons gebruik koekies vir die werking van die webwerf, ontleding en personalisering. Die verwerking van data geskied volgens die Privaatheidsbeleid.
aanvaar alles instel verwerp