⊗ppOpIfPm 69 of 107 menu

ინტერფეისების მეთოდების პარამეტრები PHP-ის OOP-ში

ინტერფეისებში მეთოდების აღწერისას აუცილებელია მივუთითოთ არა მხოლოდ თავად მეთოდების სახელები, არამედ მათ მიერ მიღებული პარამეტრებიც.

მოდით შევხედოთ მაგალითს. ვთქვათ, გვაქვს ინტერფეისი iMath, რომელიც აღწერს კლასს მათემატიკური ოპერაციებისთვის - შეკრება, გამოკლება, გამრავლება და გაყოფა. ვთქვათ, ეს ინტერფეისი ასე გამოიყურება:

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

ამჟამად ჩვენი ინტერფეისის მეთოდები არ იღებენ არცერთ პარამეტრს. და სინამდვილეში კლასის მეთოდები, რომელიც ამ ინტერფეისს რეალიზებს, ასევე არ უნდა იღებდნენ პარამეტრებს, წინააღმდეგ შემთხვევაში იქნება შეცდომა.

მოდით მივუთითოთ მეთოდების პარამეტრები ჩვენს ინტერფეისში:

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

ახლა დავწეროთ ჩვენი ინტერფეისის რეალიზაცია:

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

თუ ჩვენს კლასში სხვა რაოდენობის პარამეტრების მითითებას შევეცდებით - ეს ჩვენ უბრალოდ არ გამოგვივა: PHP გამოიტანს შეცდომას. ამით ჩვენ ვერ შევძლებთ არც შემთხვევით დავივიწყოთ რაიმე პარამეტრი და არც შემთხვევით დავამატოთ ზედმეტი.

ვთქვათ, გვაქვს მოცემული ინტერფეისი iUser:

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

გააკეთეთ კლასი User, რომელიც რეალიზებს ამ ინტერფეისს.

ქართული
AfrikaansAzə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
ვებსაიტის მუშაობის, ანალიტიკისა და პერსონალიზაციისთვის ვიყენებთ ქუქი-ფაილებს. მონაცემთა დამუშავება ხდება Კონფიდენციალურობის პოლიტიკის შესაბამისად.
ყველას მიღება პარამეტრები უარყოფა