⊗ppOpIfPm 69 of 107 menu

PHP da OOP da Interfeyslar metodlaridagi parametrlar

Interfeyslarda metodlarni tasvirlashda nafaqat metodlarning o'z nomlarini, balki ular qabul qiladigan parametrlarni ham ko'rsatish kerak.

Keling, bir misolni ko'rib chiqaylik. Faraz qilaylik, bizda matematik qo'shish, ayirish, ko'paytirish va bo'lish amallari uchun klassni tasvirlovchi iMath interfeysi mavjud. Faraz qilaylik, bu interfeys quyidagicha ko'rinsin:

<?php interface iMath { public function sum(); public function subtract(); public function multiply(); public function divide(); } ?>

Hozircha bizning interfeysimizning metodlari hech qanday parametr qabul qilmaydi. Aslida, bu interfeysni amalga oshiradigan klassning metodlari ham parametr qabul qilmasligi kerak, aks holda xatolik yuz beradi.

Keling, interfeysimizdagi metodlar parametrlarini ko'rsatamiz:

<?php interface iMath { public function sum($a, $b); public function subtract($a, $b); public function multiply($a, $b); public function divide($a, $b); } ?>

Keling, endi interfeysimizni amalga oshiradigan klass yozamiz:

<?php class Math implements iMath { public function sum($a, $b) { return $a + $b; } public function subtract($a, $b) { return $a - $b; } public function multiply($a, $b) { return $a * $b; } public function divide($a, $b) { return $a / $b; } } ?>

Agar klassimizda boshqa miqdordagi parametrlarni belgilashga harakat qilsak - bu oddiygina amalga oshmaydi: PHP xatolik qaytaradi. Shunday qilib biz na tasodifan biron bir parametrni unutishimiz, na tasodifan ortiqcha parametr qo'shishimiz mumkin emas.

Faraz qilaylik, bizda quyidagi iUser interfeysi mavjud:

<?php interface iUser { public function setName($name); public function getName(); public function setAge($age); public function getAge(); } ?>

Ushbu interfeysni amalga oshiradigan User klasini yarating.

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