⊗ppOpIhCOM 29 of 107 menu

OOP da PHP da qayta belgilangan metodni chaqirish

Qayta belgilashda voris ota-onaning qayta belgilangan metodiga kirish huquqini yo'qotadi. Biroq, unga kirish hali ham mumkin. Bunga parent kalit so'zi orqali erishish mumkin, bu ota-ona sinfini ko'rsatadi.

Keling, ota-ona metodiga kirish qachon kerak bo'lishi mumkinligini misolda ko'ramiz. Faraz qilaylik, bizda quyidagi ota-ona sinfi mavjud:

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

Faraz qilaylik, voris sinfda ota-ona metodini qayta belgiladik:

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

E'tibor bering, qayta belgilangan metodda shart bajarilganda aslida ota-ona metodining kodi bajariladi. Bu keraksiz kod takrorlashiga olib keladi.

Bundan ota-ona metodini chaqirish orqali xalos bo'lish mumkin. Buni amalga oshiramiz:

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

Quyidagi kod berilgan:

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

Employee sinfida yosh setterini soddalashtiring, ota-onaning original metodidan foydalangan holda.

Oʻzbek
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекTiếng Việt
Biz sayt ishlashi, tahlil qilish va shaxsiylashtirish uchun cookie-fayllardan foydalanamiz. Ma'lumotlarni qayta ishlash Maxfiylik siyosatiga muvofiq amalga oshiriladi.
hammasini qabul qilish sozlash rad etish