⊗ppOpIfPm 69 of 107 menu

Parameters in interface methods in OOP in PHP

Bij het beschrijven van methoden in interfaces is het nodig om niet alleen de namen van de methoden zelf op te geven, maar ook de parameters die ze accepteren.

Laten we naar een voorbeeld kijken. Stel we hebben een interface iMath, die een klasse beschrijft voor wiskundige bewerkingen: optellen, aftrekken, vermenigvuldigen en delen. Laat deze interface er als volgt uitzien:

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

Op dit moment accepteren de methoden van onze interface geen parameters. En in feite mogen de methoden van de klasse die deze interface zal implementeren, ook geen parameters accepteren, anders zal er een fout optreden.

Laten we de parameters van de methoden in onze interface opgeven:

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

Laten we nu de implementatie van onze interface schrijven:

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

Als je in onze klasse een ander aantal parameters probeert in te stellen - zal dit simpelweg niet lukken: PHP zal een fout geven. Op deze manier kunnen we noch per ongeluk een parameter vergeten, noch per ongeluk een extra parameter toevoegen.

Stel we hebben de volgende interface iUser:

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

Maak een klasse User, die deze interface zal implementeren.

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren