⊗ppOpIfCD 70 of 107 menu

Pengisytiharan Konstruktor dalam Antara Muka dalam OOP dalam PHP

Dalam antara muka, konstruktor kelas juga boleh diisytiharkan. Mari lihat contoh. Katakan kita ingin membuat kelas Rectangle, di mana akan terdapat kaedah untuk mencari luas, perimeter, dan juga konstruktor yang menerima dua parameter. Mari kita huraikan kelas kita menggunakan antara muka:

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

Mari tulis pelaksanaan antara muka kita 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); } } ?>

Apa yang kita dapat daripada mengisytiharkan konstruktor dalam antara muka? Pertama, kita tidak akan lupa untuk melaksanakan konstruktor dalam kelas. Kedua, antara muka secara jelas menunjukkan bahawa konstruktor kelas mesti menerima dua parameter: tidak lebih, tidak kurang. Ini juga akan melindungi kita daripada ralat yang tidak disengajakan.

Mengapa kita mencipta antara muka berasingan iRectangle, dan tidak menambah konstruktor ke dalam antara muka Figure? Kerana semua bentuk mempunyai bilangan sisi yang berbeza dan, oleh itu, bilangan parameter yang berbeza dalam konstruktor. Jadi, kita terpaksa mencipta antara muka berasingan yang lebih tepat khusus untuk segi empat tepat.

Buat antara muka iCube, yang akan menggambarkan bentuk Kubus. Biarkan antara muka anda menggambarkan konstruktor, menerima sisi kubus sebagai parameter, dan juga kaedah untuk mendapatkan isipadu kubus dan luas permukaan.

Buat kelas Cube, yang melaksanakan antara muka iCube.

Buat antara muka iUser, yang akan menggambarkan pengguna. Diandaikan bahawa pengguna akan mempunyai nama dan umur dan medan ini akan disampaikan melalui parameter konstruktor. Biarkan antara muka anda juga menetapkan bahawa pengguna akan mempunyai pengambil (tetapi bukan penetap) untuk nama dan umur.

Buat kelas User, yang melaksanakan antara muka iUser.

Melayu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan kuki untuk operasi laman web, analisis dan personalisasi. Pemprosesan data dijalankan mengikut Polisi Kerahsiaan.
terima semua tataletak tolak