⊗ppOpIfCD 70 of 107 menu

PHP-dä OOP-dä interfeýsde konstruktoryň yglan edilişi

Interfeýsde hem klas konstruktoryny yglan etmek bolýar. Mysal üçin seredeliň. Geliň, meýdany, perimetri tapmak üçin usullary bolan we iki parametr alýan konstruktory bolan Rectangle klasyny ýasamaga çözgüt etdik diýeliň. Indi interfeýs ýardamynda öz klasymyzy beýan edeliň:

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

Indi, iRectangle interfeýsimizi amala aşyryşyny ýazalyň:

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

Interfeýsde konstruktory yglan etmek bize näme berdi? Birinjiden, biz klasda konstruktory amala aşyrmakdan ýatman. Ikinjiden, interfeýs aýdan-anyk görkezýär, ýagny klas konstruktory iki parametr almaly: az hem däl, köp hem däl. Bu hem bizi töwekgelçilik ýalňyşlygymyzdan gorar.

Näme üçin biz iRectangle ýörite interfeýsini döretdik, ýöne konstruktory Figure interfeýsine goşup bilmedik? Sebäbi ähli şekilleriň dürli tarap sany bar we şoňa laýyklykda olaryň konstruktorlarynda parametrleriň sany hem tapawutlanýar. Şonuň üçin, edil kvadratlar üçin ýörite, has takyk interfeýs döretmeli boldy.

iCube interfeýsini düzüň, ol Kub şeklini beýan etmeli. Interfeýsiňiz kubyň tarapyny parametr hökmünde alýan konstruktory, şeýle hem kubyň göwrümini we ýüzüniň meýdanyny almak üçin usullary beýan etsin.

iCube interfeýsini amala aşyrýan Cube klasyny düzüň.

Ulanyjyny beýan edýän iUser interfeýsini düzüň. Garaşylýar, ulanyjynyň ady we ýaşy bolup, bu meýdanlar konstruktoryň parametrleri hökmünde geçiriler. Interfeýsiňiz şeýle-de, ulanyjynyň ady we ýaşy üçin getterler (ýöne setterler däl) bolmalydygyny hem kesgitlemeli.

iUser interfeýsini amala aşyrýan User klasyny düzüň.

Türkmen
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkçeЎзбекOʻzbekTiếng Việt
Biz sahypanyň işlemegi, analitika we şahsyýetleşdirmek üçin cookie ulanýarys. Maglumatlaryň işlenişi Gizlinlik syýasaty boýunça amala aşyrylýar.
hemmesini kabul et sazlamak ret et