⊗ppOpIfSII 73 of 107 menu

PHP-dä OOP-da birnäçe interfeýs

PHP-de köplenç miras ýok - her bir klasynyň diňe bir ata-enesi bolup biler. Interfeýslar bilen iş, şondan-da, başgaca: her bir klas islendik mukdarda interfeýsi amala aşyryp biler. Munuň üçin interfeýsleriň adlary implements açary sözünden soň orta çyzyg bilen sanalanmaly.

Bu ýerde interfeýslaryň abstrakt klasslardan başga bir tapawudy hem görkezilýär - köp interfeýsi amala aşyryp bolýar, ýöne birnäçe abstrakt klasa miras alyp bolmaýar.

Geliň amaly taýdan synaşaly. iFigure interfeýsinden başga, bizde iTetragon interfeýsi hem bolsun diýeli. Bu interfeýsiň usullary Quadrate we Rectangle klasslary tarapyndan amala aşyrylar, sebäbi olaryň 4 tarapy bar, ýöne Disk klasy tarapyndan amala aşyrylmaz.

iTetragon interfeýsi dörtburçlugyň dört tarapynyň hem getter usullaryny kesgitleýär diýeli:

<?php interface iTetragon { public function getA(); public function getB(); public function getC(); public function getD(); } ?>

Öň hem döreden iFigure interfeýsimiz hem bolsun:

<?php interface iFigure { public function getSquare(); public function getPerimeter(); } ?>

Quadrate klasynyň iki interfeýsi amala aşyrmagyny edeliň. Munuň üçin iki interfeýsi hem orta çyzyg bilen implements açary sözünden soň sanalaýarys:

<?php class Quadrate implements iFigure, iTetragon { // bu ýerde amala aşyrylyşy bolar } ?>

Indi Quadrate klasymyzy iTetragon interfeýsini amala aşyrýan edip işleýäris. Kwadratymyzyň dörtburçlugyň aýratyn bir hali bolýandygyny düşünmek kyn däl, sebäbi kwadratda hemme taraplar deňdir. Şonuň üçin hemme täze usullary şol bir zady - kwadratyň inişini gaýtarar:

<?php class Quadrate implements iFigure, iTetragon { private $a; public function __construct($a) { $this->a = $a; } public function getA() { return $this->a; } public function getB() { return $this->a; } public function getC() { return $this->a; } public function getD() { return $this->a; } public function getSquare() { return $this->a * $this->a; } public function getPerimeter() { return 4 * $this->a; } } ?>

Çyzygda, emma, hemme taraplar birmeňzeş däl, diňe garşylykly taraplar. Bu ýagdaýda täze usullary birneme parhly bolar. Gowy, islendik trapetsiýada umuman hemme 4 taraplar parhly bolar.

Emma, haýsy şekili göz öňüne getirýändigimiziň ähmiýeti ýok - ähmiýetli, bu şekilleriň hemmesiniň kesgitlenen usullary bolmagy (bolsa käbir şekiller aýratyn hem) we birmeňzeş işlemegi.

Rectangle klasynyň hem iki interfeýsi amala aşyrmagyny ediň: hem iFigure, hem iTetragon.

getRadius we getDiameter usullary bilen iCircle interfeýsini düzüň.

Disk klasynyň hem iki interfeýsi amala aşyrmagyny ediň: hem iFigure, hem iCircle.

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