⊗ppOpIfCD 70 of 107 menu

Dichiarazione del costruttore nell'interfaccia in OOP in PHP

Anche nell'interfaccia è possibile dichiarare il costruttore della classe. Vediamo con un esempio. Supponiamo di aver deciso di creare una classe Rectangle, in cui ci saranno metodi per trovare l'area, il perimetro, nonché un costruttore che accetta due parametri. Descriviamo la nostra classe tramite un'interfaccia:

<?php interface iRectangle { public function __construct($a, $b); // costruttore con due parametri public function getSquare(); public function getPerimeter(); } ?>

Scriviamo l'implementazione della nostra interfaccia 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); } } ?>

Cosa ci ha dato la dichiarazione del costruttore nell'interfaccia? Innanzitutto, non dimenticheremo di implementare il costruttore nella classe. In secondo luogo, l'interfaccia indica esplicitamente che il costruttore della classe deve accettare due parametri: né di più, né di meno. Questo anche ci proteggerà da errori accidentali.

Perché abbiamo creato un'interfaccia separata iRectangle, e non abbiamo aggiunto il costruttore nell'interfaccia Figure? Perché tutte le figure hanno un numero diverso di lati e, di conseguenza, un numero diverso di parametri nel costruttore. Pertanto, abbiamo dovuto creare un'interfaccia separata, più precisa specificamente per i rettangoli.

Crea un'interfaccia iCube, che descriverà la figura Cubo. Lascia che la tua interfaccia descriva un costruttore, che accetta come parametro il lato del cubo, così come i metodi per ottenere il volume del cubo e l'area della superficie.

Crea una classe Cube, che implementa l'interfaccia iCube.

Crea un'interfaccia iUser, che descriverà un utente. Si presume che l'utente abbia un nome e un'età e che questi campi vengano passati come parametri del costruttore. Lascia che la tua interfaccia specifichi anche che l'utente avrà getter (ma non setter) per il nome e l'età.

Crea una classe User, che implementa l'interfaccia iUser.

Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta