Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Lima minit untuk menunjukkan kepada anda pengisytiharan antara muka dan aplikasi dalam PHP (contoh terperinci)

Lima minit untuk menunjukkan kepada anda pengisytiharan antara muka dan aplikasi dalam PHP (contoh terperinci)

WBOY
WBOYasal
2021-10-26 14:38:114163semak imbas

Dalam artikel sebelumnya, saya membawakan anda "Bagaimana untuk menyediakan, mendapatkan dan memadam Sesi dalam PHP? ", yang memperkenalkan secara terperinci cara menyediakan, mendapatkan dan memadam Sesi dalam PHP. Dalam artikel ini, kita akan melihat pengetahuan berkaitan antara muka antara muka dalam PHP. Saya harap ia akan membantu semua orang!

Lima minit untuk menunjukkan kepada anda pengisytiharan antara muka dan aplikasi dalam PHP (contoh terperinci)

Dalam kajian terdahulu kami, kami mempelajari tentang warisan dalam PHP, tetapi PHP hanya menyokong warisan tunggal, yang bermaksud setiap kelas hanya boleh mewarisi satu kelas induk. Ciri-ciri warisan memudahkan penciptaan objek dan kelas dan meningkatkan kebolehgunaan semula kod. Untuk menyelesaikan masalah bahawa PHP hanya menyokong warisan tunggal, PHP memperkenalkan antara muka. Antara muka boleh difahami sebagai kelas abstrak khas dan boleh dianggap sebagai kelas khas Seterusnya, mari kita lihat pengetahuan berkaitan antara muka PHP.

Pengisytiharan antara muka

Memandangkan antara muka ialah kelas khas, ia mempunyai kaedah pengisytiharannya, Dipanggil teknologi antara muka . Kami tahu daripada kajian terdahulu bahawa pengisytiharan kelas biasa diisytiharkan menggunakan kata kunci "kelas" Memandangkan antara muka adalah istimewa, kaedah pengisytiharan biasa tidak akan digunakan melalui penyataan "interface".

Isytiharkan antara muka interface Format sintaks kata kunci adalah seperti berikut:

interface 接口名称{
// 常量成员
 // 抽象方法
}

Apa yang perlu diberi perhatian ialah:

  • Dalam antara muka Semua kaedah adalah kaedah abstrak dan tidak perlu diubah suai dengan kata kunci abstract sebelum kaedah. Kerana kebenaran lalai adalah public awam, tidak perlu mengubah suainya dengan kebenaran akses awam dalam antara muka.

  • Hanya sifat ahli bagi kata kunci const yang jenis tetap boleh digunakan dalam antara muka dan pembolehubah tidak boleh diisytiharkan dalam antara muka.

  • Antara muka tidak boleh digunakan sebagai objek secara langsung boleh menggunakan nama antara muka untuk mendapatkan nilai ahli tetap di luar antara muka.

Mari kita lihat contoh seperti berikut:

<?php
    interface Demo{
        const STUDY = &#39;好好学习&#39;;
        const STUDY1 = &#39;天天向上&#39;;
        function fun1();
        function fun2();
    }
    echo Demo::STUDY.&#39;<br>&#39;;
    echo Demo::STUDY1;
?>

Hasil keluaran:

Lima minit untuk menunjukkan kepada anda pengisytiharan antara muka dan aplikasi dalam PHP (contoh terperinci)

Daripada ini kami melengkapkan pengisytiharan antara muka melalui kata kunci antara muka.

Aplikasi antara muka

Antara muka tidak boleh digunakan secara instant, jadi jika anda ingin menggunakan ahli antara muka, hanya Perlu gunakan subkelas. Kami boleh melaksanakan warisan antara muka melalui kata kunci implements Jika terdapat berbilang antara muka untuk diwarisi, setiap antara muka mesti dipisahkan dengan ,.

Semasa mewarisi antara muka melalui kata kunci implements, anda juga boleh menggunakan kata kunci extends untuk mewarisi kelas. Ia boleh difahami bahawa anda boleh melaksanakan berbilang antara muka semasa mewarisi kelas Perlu diingat bahawa anda mesti menggunakan extend untuk mewarisi kelas dan kemudian menggunakan implement untuk melaksanakan berbilang antara muka. Format sintaksnya adalah seperti berikut:

class 类名 extends 父类名 implements 接口一, 接口二, ..., 接口 n {
// 实现所有接口中的抽象方法
}

Mari kita lihat aplikasi antara muka melalui contoh seperti berikut:

<?php
    interface Demo{
        const STUDY = &#39;好好学习&#39;;
        const STUDY1 = &#39;天天向上&#39;;
        function fun1();
        function fun2();
    }
    class Website implements Demo{
        public function fun1(){
            echo self::STUDY.&#39;<br>&#39;;
        }
        public function fun2(){
            echo self::STUDY1;
        }
    }
    $obj = new Website();
    $obj -> fun1();
    $obj -> fun2();
?>

Hasil keluaran. :

Lima minit untuk menunjukkan kepada anda pengisytiharan antara muka dan aplikasi dalam PHP (contoh terperinci)

Apa yang anda perlu beri perhatian selepas dijalankan ialah: Memandangkan kaedah dalam antara muka diwarisi melalui subkelas, semua kaedah dalam antara muka mesti dilaksanakan dalam subkelas, jika tidak PHP akan menyebabkan mesej ralat.

Bukan sahaja contoh di atas digunakan, kami juga boleh menggunakan kata kunci lanjutan untuk membenarkan satu antara muka mewarisi antara muka lain untuk melaksanakan sambungan antara antara muka. Dalam contoh berikut, mula-mula tentukan antara muka Satu, dan kemudian tentukan antara muka Dua untuk mewarisi Satu:

Contohnya adalah seperti berikut:

    interface One{
        function fun1();
        function fun2();
    }
    interface Two extends One{
        function fun3();
        function fun4();
    }

Selain itu, jika anda perlu menggunakan kelas abstrak untuk melaksanakan antara muka Beberapa kaedah juga perlu menggunakan kata kunci implements.

Contohnya adalah seperti berikut:

    interface Demo{
        function fun1();
        function fun2();
    }
    abstract class Website implements Demo{
        public function fun2(){
            ... ... ;
        }
        abstract function fun3();
    }

Setelah memetik begitu banyak contoh, apakah peranan khusus antara muka Kita boleh menganggap antara muka sebagai templat atau spesifikasi kelas untuk kelas. Semasa pembangunan, semua orang melaksanakan sebahagian daripada antara muka seperti yang diperlukan dan mengikut peraturan kelas ini. Ini adalah apabila antara muka PHP mula dimainkan.

Jika anda berminat, anda boleh klik pada "Tutorial Video PHP" untuk mengetahui lebih lanjut tentang pengetahuan PHP.

Atas ialah kandungan terperinci Lima minit untuk menunjukkan kepada anda pengisytiharan antara muka dan aplikasi dalam PHP (contoh terperinci). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn