Rumah > Artikel > pembangunan bahagian belakang > Perbandingan mudah: pelbagai cara untuk memanggil kaedah kelas dalam kelas PHP
Dalam PHP, kelas ialah konsep yang sangat penting. Kelas menyediakan cara untuk merangkum kod, menjadikannya lebih boleh diselenggara dan lebih mudah difahami. Ahli kelas termasuk sifat dan kaedah. Atribut kelas boleh terdiri daripada sebarang jenis data, termasuk jenis skalar, jenis tatasusunan dan jenis objek. Kaedah kelas ialah blok kod yang melaksanakan beberapa tugas. Dalam PHP, kita boleh memanggil kaedah kelas dalam pelbagai cara Mari kita lihat dengan lebih dekat perbezaan antara kaedah ini.
Dalam PHP, kita boleh memanggil kaedah yang ditakrifkan dalam kelas dengan membuat seketika objek. Sintaks asas untuk membuat seketika objek ialah: $object = new MyClass(). Antaranya, MyClass ialah nama kelas, dan $object ialah objek instantiation bagi kelas ini. Jika terdapat kaedah bernama foo() yang ditakrifkan dalam kelas ini, maka kita boleh memanggilnya dengan cara berikut:
$object->foo();
where'- > ' ialah pengendali objek dalam PHP, yang digunakan untuk mengakses sifat dan kaedah objek. Kaedah ini ialah cara yang paling biasa untuk memanggil kaedah kelas.
Cara lain untuk memanggil kaedah kelas ialah memanggil kaedah statik. Tidak seperti memanggil kaedah objek, kaedah statik dipanggil tanpa instantiating objek. Jika terdapat kaedah statik bernama bar() dalam kelas, maka kita boleh memanggilnya dengan cara berikut:
MyClass::bar();
di mana '::' ialah PHP Pengendali statik dalam , yang digunakan untuk mengakses sifat dan kaedah statik. Kelebihan memanggil kaedah statik ialah tidak perlu mencipta objek instantiated, dengan itu mengelakkan beberapa overhed yang tidak perlu. Selain itu, kaedah statik juga boleh digunakan untuk melaksanakan beberapa operasi yang tiada kaitan dengan keadaan objek.
Dalam perhubungan warisan, subkelas boleh mewarisi atribut dan kaedah kelas induk. Jika kaedah dengan nama yang sama juga ditakrifkan dalam subkelas, maka kita boleh memanggil kaedah kelas induk melalui induk::. Andaikan bahawa kelas induk ialah ParentClass dan subkelas ialah ChildClass Terdapat kaedah bernama baz() dalam kelas induk dan terdapat kaedah dengan nama yang sama dalam subkelas Kemudian kita boleh memanggil kaedah baz() induk kelas dengan cara berikut:
ibu bapa::baz();
Perlu diambil perhatian bahawa jika kaedah baz() dalam kelas induk ditakrifkan sebagai peribadi atau dilindungi, ia tidak boleh diakses dalam subkelas.
Kadangkala, kaedah dalam kelas perlu memanggil kaedah lain kelas itu sendiri. Dalam PHP, kita boleh mengakses ahli kelas melalui $this. $this ialah rujukan yang mewakili objek yang sedang digunakan dan boleh digunakan dalam objek. Sebagai contoh, jika terdapat kaedah bernama qux() dalam kelas, yang perlu memanggil kaedah baz() dan bar() dalam kelas, maka kita boleh mencapainya dengan cara berikut:
kelas MyClass {
public function qux() { $this->baz(); $this->bar(); } public function baz() { ... } public function bar() { ... }
}
$ini bukan sahaja boleh memanggil kaedah, tetapi juga mengakses sifat dalam kelas.
Ringkasan
Dalam PHP, kami mempunyai banyak cara untuk memanggil kaedah kelas. Yang paling biasa ialah memanggil kaedah objek dengan membuat instantiating objek. Jika kaedah tiada kaitan dengan keadaan objek, maka kita boleh mentakrifkannya sebagai kaedah statik untuk memanggil. Di samping itu, jika terdapat kaedah dalam subkelas yang bercanggah dengan kelas induk, maka kita boleh memanggil kaedah kelas induk melalui induk::. Akhir sekali, jika kaedah dalam kelas perlu menggunakan kaedah lain kelas itu sendiri, kita boleh melakukannya melalui $this. Dengan memahami perbezaan antara kaedah panggilan ini, kami boleh menggunakan kelas dengan lebih fleksibel dan meningkatkan kebolehgunaan semula kod.
Atas ialah kandungan terperinci Perbandingan mudah: pelbagai cara untuk memanggil kaedah kelas dalam kelas PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!