⊗ppOpFnCD 70 of 107 menu

Կոնստրուկտորի հայտարարումը ինտերֆեյսում OOP-ում 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 ինտերֆեյս, և չավելացրինք կոնստրուկտորը Figure ինտերֆեյսում։ Քանի որ բոլոր պատկերներն ունեն տարբեր քանակությամբ կողմեր և, համապատասխանաբար, տարբեր քանակությամբ պարամետրեր կոնստրուկտորում։ Ուստի մենք ստիպված էինք ստեղծել առանձին, ավելի ճշգրիտ ինտերֆեյս հատկապես ուղղանկյունների համար։

Ստեղծեք iCube ինտերֆեյս, որը կնկարագրի Քուբ պատկերը։ Թող ձեր ինտերֆեյսը նկարագրի կոնստրուկտոր, որն ընդունում է խորանարդի կողմը որպես պարամետր, ինչպես նաև մեթոդներ խորանարդի ծավալը և մակերևույթի մակերեսը ստանալու համար։

Ստեղծեք Cube դաս, որն իրականացնում է iCube ինտերֆեյսը։

Ստեղծեք iUser ինտերֆեյս, որը կնկարագրի օգտագործողին (user)։ Ենթադրվում է, որ օգտագործողը կունենա անուն և տարիք, և այդ դաշտերը կլինեն կոնստրուկտորին փոխանցվող պարամետրեր։ Թող ձեր ինտերֆեյսը նաև սահմանի, որ օգտագործողը կունենա գետտերներ (բայց ոչ սետտերներ) անվան և տարիքի համար։

Ստեղծեք User դաս, որն իրականացնում է iUser ինտերֆեյսը։

Հայերեն
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել