⊗ppOpIfInr 65 of 107 menu

Antara Muka dalam OOP dalam PHP

Seperti yang anda sudah tahu, kelas abstrak mewakili satu set kaedah untuk keturunannya. Sebahagian dari kaedah-kaedah ini mungkin dilaksanakan dalam kelas itu sendiri, dan sebahagian kaedah mungkin diisytiharkan abstrak dan memerlukan pelaksanaan dalam kelas anak.

Bayangkan satu situasi di mana kelas abstrak anda hanya mewakili satu set kaedah abstrak awam, tanpa menambah kaedah dengan pelaksanaan.

Secara faktanya, kelas induk anda menerangkan antara muka bagi keturunan, iaitu set kaedah awam mereka yang wajib untuk dilaksanakan.

Mengapa kita perlukan ini: untuk semasa pengaturcaraan kita melakukan kurang kesilapan - dengan menerangkan semua kaedah yang diperlukan dalam kelas induk, kita boleh yakin bahawa semua keturunan memang melaksanakannya.

Bila ini akan membantu: katakan kita mencipta kelas induk kita dan beberapa keturunan kepadanya. Jika kemudian selepas beberapa waktu, contohnya, selepas sebulan, kita memutuskan untuk mencipta satu lagi keturunan, pasti kita sudah akan lupa butiran kod kita dan mungkin akan lupa untuk menulis pelaksanaan untuk beberapa kaedah dalam keturunan baru. Walau bagaimanapun, PHP sendiri tidak akan membenarkan kehilangan kaedah - dan hanya akan memaparkan ralat.

Perkara yang sama berlaku untuk pengaturcara lain, yang bekerja dengan projek anda. Katakan kod kelas induk ditulis oleh anda, dan kemudian rakan sekerja anda memutuskan untuk mencipta satu lagi keturunan. Rakan sekerja anda juga tidak akan berjaya kehilangan beberapa kaedah.

Namun, ada masalah: secara faktanya kita menjadikan kelas induk kita untuk tujuan menulis kaedah abstrak awam di dalamnya, tetapi kita sendiri atau rakan sekerja kita berpeluang untuk secara tidak sengaja menambah dalam kelas ini kaedah yang bukan awam atau bukan abstrak.

Katakan kita mahu secara fizikal melarang membuat dalam induk kaedah lain, selain daripada abstrak awam. Dalam PHP untuk ini, menggantikan kelas abstrak, kita boleh menggunakan antara muka.

Antara muka mewakili kelas, yang mana semua kaedahnya adalah awam dan tidak mempunyai pelaksanaan. Kod kaedah mesti dilaksanakan oleh kelas-keturunan antara muka.

Antara muka diisytiharkan sama seperti kelas biasa, tetapi menggunakan kata kunci interface sebagai ganti perkataan class.

Untuk pewarisan dari antara muka, digunakan terminologi yang sedikit berbeza: dikatakan bahawa kelas tidak mewarisi dari antara muka, tetapi melaksanakan mereka. Sehubungan itu, menggantikan perkataan extends seseorang harus menggunakan kata kunci implements.

Tidak boleh mencipta objek antara muka. Semua kaedah antara muka mesti diisytiharkan sebagai public dan tidak boleh mempunyai pelaksanaan. Antara muka hanya boleh mempunyai kaedah, bukan sifat. Tidak boleh juga membuat antara muka dan kelas dengan nama yang sama.

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