⊗ppOpIfPm 69 of 107 menu

Parametrar i metoderna för gränssnitt i OOP i PHP

När man beskriver metoder i gränssnitt måste man ange inte bara namnen på metoderna själva, utan också de parametrar de tar emot.

Låt oss titta på ett exempel. Låt oss säga att vi har ett gränssnitt iMath som beskriver en klass för matematiska operationer: addition, subtraktion, multiplikation och division. Låt detta gränssnitt se ut så här:

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

För närvarande tar metoderna i vårt gränssnitt inte emot några parametrar. Och faktiskt, metoderna i klassen som kommer att implementera detta gränssnitt kommer inte heller att få ta emot parametrar, annars blir det ett fel.

Låt oss ange parametrarna för metoderna i vårt gränssnitt:

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

Låt oss nu skriva implementationen av vårt gränssnitt:

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

Om man försöker ange ett annat antal parametrar i vår klass - kommer det helt enkelt inte att lyckas: PHP kommer att ge ett fel. På så sätt kan vi varken av misstag glömma någon parameter, eller av misstag lägga till en extra.

Låt oss säga att vi har följande gränssnitt iUser:

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

Skapa en klass User som implementerar detta gränssnitt.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa