Bolehkah php menentukan kaedah abstrak?

青灯夜游
Lepaskan: 2023-03-15 16:12:01
asal
1836 orang telah melayarinya

php boleh mentakrifkan kaedah abstrak. Untuk memudahkan pewarisan kelas, konsep kaedah abstrak diperkenalkan dalam PHP5 kaedah abstrak adalah kaedah tanpa badan kaedah Apabila mengisytiharkan kaedah abstrak dalam PHP, gunakan pengubahsuaian kata kunci "abstrak", dan sintaksnya ialah "fungsi pengubah kebenaran akses abstrak. nama kaedah (senarai parameter) );".

Bolehkah php menentukan kaedah abstrak?

Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 7.1, komputer DELL G3

php boleh mentakrifkan kaedah abstrak .

Dalam bahasa berorientasikan objek, kelas boleh mempunyai satu atau lebih subkelas dan setiap kelas harus mempunyai sekurang-kurangnya satu kaedah awam sebagai titik masuk untuk kod luaran untuk mengaksesnya.

Kelas abstrak dan kaedah abstrak ialah konsep yang diperkenalkan dalam PHP5, terutamanya untuk memudahkan pewarisan kelas.

Kaedah abstrak dan kaedah abstrak

Kaedah abstrak ialah kaedah tanpa badan kaedah Apa yang disebut badan kaedah tiada , Apabila mengisytiharkan kaedah, tiada pendakap kerinting { } dan kandungan di dalamnya sebaliknya, koma bertitik ditambah terus selepas nama kaedah. Di samping itu, gunakan kata kunci "abstrak" apabila mengisytiharkan kaedah abstrak. Formatnya adalah seperti berikut:

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

Contoh:

abstract function fun1();
abstract function fun2();
Salin selepas log masuk

Contoh di atas ialah kaedah abstrak "fun1() tanpa badan kaedah diubah suai oleh "abstrak " " dan "fun2()", jangan lupa bahawa terdapat koma bertitik selepas kaedah abstrak;

Selagi kaedah dalam kelas adalah kaedah abstrak, maka kelas mesti ditakrifkan sebagai kelas abstrak, dan kelas abstrak juga mesti diubah suai dengan kata kunci "abstrak" boleh ada kaedah itu; bukan abstrak dalam kelas abstrak dan atribut ahli, tetapi selagi satu kaedah adalah abstrak, kelas itu mesti diisytiharkan sebagai kelas abstrak dan dihiasi dengan "abstrak".

Dalam contoh di atas, kelas abstrak "Demo" ditakrifkan dan diubah suai dengan "abstrak". Dalam kelas ini, atribut ahli "$test" dan dua kaedah abstrak "fun1" ditakrifkan. dan "fun2", terdapat juga kaedah bukan abstrak fun3();
abstract class Demo
{

    var $test;

    abstract function fun1();
    abstract function fun2();

    function fun3(){
        ...
    }
}
Salin selepas log masuk

Jadi bagaimana kita menggunakan kelas abstrak? Perkara yang paling penting ialah kelas abstrak tidak boleh menghasilkan objek contoh, jadi mereka tidak boleh digunakan secara langsung Kami telah menyebut banyak kali bahawa kelas tidak boleh digunakan secara langsung, jadi kelas abstrak tidak boleh menghasilkan objek contoh penggunaan mengisytiharkan kelas abstrak? Kami menggunakan kaedah abstrak sebagai templat untuk melebihkan subkelas Mentakrifkan kelas abstrak adalah bersamaan dengan mentakrifkan spesifikasi, yang memerlukan subkelas untuk mematuhi Selepas subkelas mewarisi kelas abstrak, kaedah Abstrak dilaksanakan seperti yang diperlukan oleh subkelas. Subkelas mesti melaksanakan semua kaedah abstrak dalam kelas induk Jika tidak, jika masih terdapat kaedah abstrak dalam subkelas, subkelas masih akan menjadi kelas abstrak dan tidak boleh membuat instantiate kelas itu; Kerana kadangkala jika kita ingin melaksanakan beberapa fungsi, kita mesti mewarisi daripada kelas abstrak, jika tidak, anda tidak akan dapat melaksanakan fungsi ini Jika anda mewarisi kelas abstrak, anda mesti melaksanakan kaedah abstrak dalam kelas; 🎜>

Kajian Disyorkan: "

Tutorial Video PHP

"
<?
abstract class Demo
{
    var $test;

    abstract function fun1();
    abstract function fun2();

    function fun3() {
        ...
    }
}

$demo=new Demo(); //抽象类不能产生实例对象,所以这样做是错的,实例化对象交给子类

class Test extends Demo
{
    function fun1() {
        ...
    }

    function fun2() {
        ...
    }
}

$test = new Test(); //子类可以实例化对象,因为实现了父类中所有抽象方法
?>
Salin selepas log masuk

Atas ialah kandungan terperinci Bolehkah php menentukan kaedah abstrak?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!