⊗ppOpIfPm 69 of 107 menu

Parametere i metoder for grensesnitt i OOP i PHP

Ved beskrivelse av metoder i grensesnitt må man angi ikke bare navnene på metodene selv, men også parameterne de tar imot.

La oss se på et eksempel. Anta at vi har et grensesnitt iMath som beskriver en klasse for matematiske operasjoner addisjon, subtraksjon, multiplikasjon og divisjon. La dette grensesnittet se slik ut:

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

For øyeblikket tar ikke metodene i vårt grensesnitt imot noen parametere. Og faktisk, metodene til klassen som implementerer dette grensesnittet, vil heller ikke kunne ta imot parametere, ellers vil det oppstå en feil.

La oss angi parameterne for metodene i vårt grensesnitt:

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

La oss nå skrive implementasjonen av vårt grensesnitt:

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

Hvis man prøver å angi et annet antall parametere i klassen vår - vil det rett og slett ikke lykkes: PHP vil gi en feil. På denne måten kan vi verken ved et uhell glemme noen parameter, eller ved et uhell legge til en ekstra.

Anta at vi har et slikt grensesnitt iUser:

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

Lag en klasse User som vil implementere dette grensesnittet.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis