⊗ppOpIfCD 70 of 107 menu

Deklarimi i konstruktorit në ndërfaqe në OOP në PHP

Në ndërfaqe gjithashtu mund të deklarohet konstruktor i klasës. Le të shohim me një shembull. Le të supozojmë se kemi vendosur të bëjmë një klasë Rectangle, në të cilën do të ketë metoda për gjetjen e sipërfaqes, perimetrit, si dhe një konstruktor, i cili pranon dy parametra. Le të përshkruajmë klasën tonë duke përdorur ndërfaqen:

<?php interface iRectangle { public function __construct($a, $b); // konstruktor me dy parametra public function getSquare(); public function getPerimeter(); } ?>

Le të shkruajmë implementimin e ndërfaqes sonë 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); } } ?>

Çfarë na dha deklarimi i konstruktorit në ndërfaqe? Së pari, ne nuk do të harrojmë të implementojmë konstruktorin në klasë. Së dyti, ndërfaqja tregon në mënyrë eksplicite, që konstruktori i klasës duhet të pranojë dy parametra: as më shumë, as më pak. Kjo gjithashtu na mbron nga gabimet e rastësishme.

Pse krijuam një ndërfaqe të veçantë iRectangle, në vend që të shtonim konstruktorin në ndërfaqen Figure? Sepse të gjitha figurat kanë numër të ndryshëm brinjësh dhe, në përputhje me rrethanat, numër të ndryshëm parametrash në konstruktor. Prandaj, ne u desh të krijonim një ndërfaqe të veçantë, më të saktë posaçërisht për drejtkëndëshat.

Bëni një ndërfaqe iCube, e cila do të përshkruajë figurën Kub. Le të ndërfaqja juaj të përshkruajë konstruktorin, i cili si parametër pranon brinjën e kubit, si dhe metodat për marrjen e vëllimit të kubit dhe sipërfaqes anësore.

Bëni një klasë Cube, e cila implementon ndërfaqen iCube.

Bëni një ndërfaqe iUser, e cila do të përshkruajë përdoruesin. Supozohet se përdoruesi ka emër dhe moshë dhe këto fusha do të kalojnë si parametra të konstruktorit. Le të ndërfaqja juaj gjithashtu përcaktojë që përdoruesi të ketë metoda get (por jo set) për emrin dhe moshën.

Bëni një klasë User, e cila implementon ndërfaqen iUser.

Shqip
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ne përdorim cookie për funksionimin e sajtit, analizën dhe personalizimin. Përpunimi i të dhënave bëhet në përputhje me Politikën e Privatësisë.
prano të gjitha konfiguro refuzo