⊗ppOpIfPm 69 of 107 menu

Paraméterek az interfész metódusaiban az OOP-ban PHP-ben

Az interfészek metódusainak leírásakor nemcsak maguknak a metódusoknak a nevét kell megadni, hanem az általuk elfogadott paramétereket is.

Nézzük ezt egy példán keresztül. Legyen egy iMath interfészünk, amely egy osztályt ír le a matematikai összeadás, kivonás, szorzás és osztás műveleteihez. Legyen ez az interfész így:

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

Jelenleg az interfész metódusai nem fogadnak semmilyen paramétert. És valójában azon osztály metódusainak, amely megvalósítja ezt az interfészt, szintén nem szabad paramétereket fogadniuk, különben hiba történik.

Adjunk meg paramétereket az interfészünk metódusainak:

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

Írjuk meg most az interfészünk megvalósítását:

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

Ha megpróbálnánk az osztályunkban más mennyiségű paramétert megadni - ez egyszerűen nem sikerülne: PHP hibát jelezne. Így nem tudunk sem véletlenül elfelejteni valamilyen paramétert, sem véletlenül feleslegest hozzáadni.

Legyen egy ilyen iUser interfészünk:

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

Készítsen egy User osztályt, amely megvalósítja ezt az interfészt.

Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás