⊗ppOpIhCOM 29 of 107 menu

Memanggil Kaedah Terubah Suai dalam OOP dalam PHP

Apabila mengubah suai, kelas anak kehilangan akses kepada kaedah induk yang diubah suai. Walau bagaimanapun, akses kepadanya masih boleh diperolehi. Ini dilakukan dengan menggunakan kata kunci parent, yang merujuk kepada kelas induk.

Mari kita lihat contoh di mana kita mungkin memerlukan akses kepada kaedah induk. Katakan kita mempunyai kelas induk berikut:

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

Katakan kita dalam kelas anak telah mengubah suai kaedah induk:

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

Boleh diperhatikan bahawa dalam kaedah yang diubah suai, apabila syarat dipenuhi, sebenarnya kod kaedah induk dilaksanakan. Ini menyebabkan penduaan kod yang tidak perlu.

Ia boleh dielakkan dengan memanggil kaedah induk. Mari lakukan ini:

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

Diberi kod berikut:

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

Dalam kelas Employee, betulkan penetap umur dengan memudahkannya, menggunakan kaedah induk asal.

Melayu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan kuki untuk operasi laman web, analisis dan personalisasi. Pemprosesan data dijalankan mengikut Polisi Kerahsiaan.
terima semua tataletak tolak