⊗ppOpIfCD 70 of 107 menu

Verklaring van Konstruktor in Interfensie in OOP in PHP

'n Konstruktor van 'n klas kan ook in 'n interfensie verklaar word. Kom ons kyk na 'n voorbeeld. Gestel ons besluit om 'n klas Rectangle te skep, met metodes om die oppervlakte en omtrek te vind, sowel as 'n konstruktor wat twee parameters aanvaar. Kom ons beskryf ons klas met behulp van 'n interfensie:

<?php interface iRectangle { public function __construct($a, $b); // konstruktor met twee parameters public function getSquare(); public function getPerimeter(); } ?>

Kom ons skryf die implementering van ons interfensie iRectangle:

<?php class Rectangle implements iRectangle { private $a; private $b; public function __construct($a, $b) { $this->a = $a; $this->b = $b; } public function getSquare() { return $this->a * $this->b; } public function getPerimeter() { return 2 * ($this->a + $this->b); } } ?>

Wat het die verklaring van die konstruktor in die interfensie ons gegee? Eerstens, ons sal nie vergeet om die konstruktor in die klas te implementeer nie. Tweedens, die interfensie dui eksplisiet aan dat die konstruktor van die klas twee parameters moet aanvaar: nie meer nie, nie minder nie. Dit beskerm ons ook teen per ongeluk foute.

Hoekom het ons 'n aparte interfensie iRectangle geskep, en nie die konstruktor by die interfensie Figure gevoeg nie? Omdat alle figure 'n verskillende aantal sye het en dus 'n verskillende aantal parameters in hul konstruktor. Daarom moes ons 'n aparte, meer presiese interfensie spesiaal vir reghoeke skep.

Skep 'n interfensie iCube wat die figuur Kubus sal beskryf. Laat jou interfensie 'n konstruktor beskryf wat die sy van die kubus as parameter aanvaar, sowel as metodes om die volume en buiteoppervlak van die kubus te kry.

Skep 'n klas Cube wat die interfensie iCube implementeer.

Skep 'n interfensie iUser wat 'n gebruiker sal beskryf. Daar word aanvaar dat die gebruiker 'n naam en ouderdom sal hê en hierdie velde sal deur die konstruktor se parameters oorgedra word. Laat jou interfensie ook spesifiseer dat die gebruiker getters (maar nie setters nie) vir die naam en ouderdom sal hê.

Skep 'n klas User wat die interfensie iUser implementeer.

Afrikaans
Azə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
Ons gebruik koekies vir die werking van die webwerf, ontleding en personalisering. Die verwerking van data geskied volgens die Privaatheidsbeleid.
aanvaar alles instel verwerp