Rumah > pembangunan bahagian belakang > tutorial php > Anda mesti memahami kelas abstrak dan kaedah abstrak dalam PHP

Anda mesti memahami kelas abstrak dan kaedah abstrak dalam PHP

WBOY
Lepaskan: 2023-04-10 18:34:01
asal
3606 orang telah melayarinya

Dalam artikel sebelumnya, saya membawakan anda "Lima minit untuk menunjukkan kepada anda pengisytiharan antara muka dan aplikasi dalam PHP (contoh terperinci)", yang memperkenalkan isu pengisytiharan dan aplikasi antara muka PHP secara terperinci , dalam artikel ini kita lihat kelas abstrak dan kaedah abstrak dalam PHP, saya harap ia akan membantu semua orang!

Anda mesti memahami kelas abstrak dan kaedah abstrak dalam PHP

Dalam artikel sebelum ini, saya telah memperkenalkan antara muka, yang menyebut bahawa antara muka boleh difahami sebagai kelas abstrak yang istimewa Jika anda mahu tahu apa itu Kelas Abstrak Mula-mula kita perlu bercakap tentang kaedah abstrak Kemunculan kelas abstrak dan kaedah abstrak adalah terutamanya untuk memudahkan pewarisan kelas Kemudian mari kita lihat apakah kaedah abstrak dan kelas abstrak.

Apakah kaedah abstrak

Dalam kajian terdahulu kami, kelas boleh mempunyai berbilang subkelas dan kami mentakrifkan kaedah abstrak? Ia adalah untuk memudahkan pewarisan kelas. Kaedah yang ditakrifkan dalam kelas kami tanpa badan kaedah adalah kaedah abstrak. Jadi apakah badan kaedah? Badan kaedah merujuk kepada kurungan kerinting dan kandungan dalam kurungan kerinting apabila kelas diisytiharkan Ketiadaan badan kaedah bermakna tiada kandungan sedemikian, sebaliknya, ia diletakkan terus selepas pernyataan kaedah dan berakhir dengan koma bertitik semasa pengisytiharan. Ini dipanggil kaedah abstrak.

Perlu diambil perhatian bahawa kaedah abstrak mesti diubah suai dengan kata kunci "abstract" semasa mengisytiharkannya. Format sintaksnya adalah seperti berikut:

abstract 访问权限修饰符 function 方法名1(参数列表);
abstract 访问权限修饰符 function 方法名2(参数列表);
Salin selepas log masuk

Pemahaman kaedah abstrak adalah agak mudah Seterusnya, mari kita lihat apa itu kelas abstrak.

Apakah itu kelas abstrak

Melalui perkara di atas, kita sudah tahu apa itu kaedah abstrak, jadi definisi sesuatu kelas abstrak sebenarnya sangat mudah Ia mudah difahami Apabila kaedah dalam kelas ialah kaedah abstrak, kami mentakrifkan kelas ini sebagai kelas abstrak. Pada masa yang sama, kelas abstrak juga perlu diubah suai menggunakan kata kunci "abstract" Dalam kelas abstrak, boleh ada atribut ahli yang bukan kaedah abstrak, tetapi apabila kaedah adalah kaedah abstrak, maka kelas ini adalah satu. kelas abstrak.

Perlu diambil perhatian bahawa tidak semua kaedah ahli kelas abstrak adalah kaedah abstrak dan kebenaran akses atribut yang bukan kaedah abstrak tidak boleh private Kaedah dalam kelas abstrak juga perlu diwarisi subkelas daripada.

Biar saya berikan contoh kepada anda:

abstract class demo{
var $test;
abstract function fun1();
abstract function fun2();
}
Salin selepas log masuk

Ciri-ciri kelas abstrak

  • Kedua-dua kelas abstrak dan kaedah abstrak perlu diubah suai dengan abstrak;

  • Kaedah abstrak mestilah dalam kelas abstrak, dan kaedah abstrak tidak perlu berada dalam kelas abstrak; >

  • Kelas abstrak tidak boleh mencipta objek secara langsung (instantiasi); kelas tidak ditindih Tulis semua kaedah abstrak, maka subkelas masih merupakan kelas abstrak; , jadi tiada objek boleh dibuat , jadi kami tidak boleh menggunakannya secara langsung. Oleh kerana kita tidak boleh menggunakannya secara langsung, apakah masalah yang boleh kita selesaikan dengan menggunakan kelas abstrak?
  • Seterusnya mari kita lihat melalui contoh, takrifkan kelas abstrak, dan kemudian gunakan kelas lain untuk mewarisi kelas abstrak ini dan melaksanakan kaedah abstrak dalam kelas abstrak.
  • Contohnya adalah seperti berikut:

  • Hasil keluaran:


Daripada contoh di atas, kami melaksanakan definisi kelas abstrak, dan kemudian gunakan kelas lain untuk mewarisi kelas abstrak ini dan melaksanakan kaedah abstrak dalam kelas abstrak.

Seperti yang dinyatakan di atas, artikel sebelum ini bercakap tentang pengetahuan yang berkaitan antara muka PHP Ia mengatakan bahawa antara muka boleh difahami sebagai kelas abstrak yang istimewa, apakah perbezaan antara antara muka PHP dan kelas abstrak bagaimana dengan persamaan? Mari lihat di bawah. Anda disyorkan untuk membaca "
<?php
    abstract class father{
        public $study = &#39;好好学习<br>&#39;;
        public $study1 = &#39;天天向上<br>&#39;;
        abstract function title();
        abstract function output();
    }
    class Demo extends father{
        public function title(){
            echo &#39;福如东海,寿比南山。&#39;;
        }
        public function output(){
            echo $this -> study.$this -> study1;
        }
    }
    $obj = new Demo();
    $obj -> output();
    $obj -> title();
?>
Salin selepas log masuk
Lima minit untuk menunjukkan kepada anda pengisytiharan antara muka dan aplikasi dalam PHP (contoh terperinci)

" yang memperkenalkan antara muka PHP.

Perbezaan antara antara muka PHP dan kelas abstrakAnda mesti memahami kelas abstrak dan kaedah abstrak dalam PHP

Kelas abstrak boleh mempunyai atribut, kaedah biasa dan kaedah abstrak, tetapi antara muka tidak boleh mempunyai atribut , kaedah biasa Kaedah boleh mempunyai pemalar.

Mungkin tiada kaedah abstrak dalam kelas abstrak, tetapi mesti ada kaedah "abstrak" dalam antara muka.

    Kelas abstrak diisytiharkan sebelum kelas dengan kata kunci abstrak, dan kelas diisytiharkan sebagai kelas Antara muka diisytiharkan dengan antara muka, tetapi tidak boleh diisytiharkan dengan kelas, kerana antara muka adalah bukan kelas.
  • Kelas abstrak menggunakan kata kunci lanjutan untuk membenarkan subkelas mewarisi kelas induk dan kemudian melaksanakan kaedah abstrak terperinci dalam subkelas. Antara muka menggunakan alat untuk membenarkan kelas biasa melaksanakan kaedah terperinci antara muka dalam kelas, dan antara muka boleh melaksanakan berbilang kaedah pada satu masa, cuma asingkan setiap antara muka dengan koma.
  • Persamaan antara antara muka PHP dan kelas abstrak

    • semuanya digunakan untuk mengisytiharkan perkara tertentu, menyeragamkan nama dan parameter, dan modul borang Tiada butiran pelaksanaan yang terperinci.

    • semua melaksanakan kerja terperinci berkaitan melalui kelas.

    • Secara sintaksis, kaedah abstrak kelas abstrak adalah sama dengan antara muka dan tidak boleh mempunyai badan kaedah, iaitu simbol {{}.

    • semua boleh menggunakan warisan antara muka boleh mewarisi antara muka untuk membentuk antara muka baharu, dan kelas abstrak boleh mewarisi kelas abstrak untuk membentuk kelas abstrak baharu.

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

Atas ialah kandungan terperinci Anda mesti memahami kelas abstrak dan kaedah abstrak dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan