⊗ppOpIfCD 70 of 107 menu

Декларација на конструктор во интерфејс во ООП во PHP

Во интерфејсот исто така може да се декларира конструктор на класата. Ајде да погледнеме на пример. Да речеме дека решивме да направиме класа Rectangle, во која ќе има методи за наоѓање на плоштина, периметар, како и конструктор, кој прифаќа два параметри. Ајде да ја опишеме нашата класа со помош на интерфејс:

<?php interface iRectangle { public function __construct($a, $b); // конструктор со два параметри public function getSquare(); public function getPerimeter(); } ?>

Ајде да напишеме имплементација на нашиот интерфејс 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); } } ?>

Што ни даде декларацијата на конструкторот во интерфејсот? Прво, нема да заборавиме да го имплементираме конструкторот во класата. Второ, интерфејсот експлицитно укажува, дека конструкторот на класата мора да прифати два параметри: ни повеќе, ни помалку. Ова исто така ќе не заштити од случајна грешка.

Зошто создадовме одделен интерфејс iRectangle, a не додадовме конструктор во интерфејсот Figure? Затоа што сите фигури имаат различен број на страни и, соодветно, различен број на параметри во конструкторот. Затоа моравме да создадеме одделен, попрецизен интерфејс конкретно за правоаголници.

Направете интерфејс iCube, кој ќе ја опишува фигурата Коцка. Нека вашиот интерфејс го опише конструкторот, кој како параметар прифаќа страна на коцката, како и методи за добивање на волумен на коцката и плоштина на површината.

Направете класа Cube, која го имплементира интерфејсот iCube.

Направете интерфејс iUser, кој ќе го опишува корисникот. Се претпоставува дека корисникот ќе има име и возраст и овие полиња ќе бидат пренесени како параметри на конструкторот. Нека вашиот интерфејс исто така наложува дека корисникот ќе има геттери (но не и сетири) за името и возраста.

Направете класа User, која го имплементира интерфејсот iUser.

Македонски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј