Sintaks khas dalam PHP: Statik, Akhir, Abstrak dan kata kunci lain

PHPz
Lepaskan: 2023-05-11 16:34:01
asal
1504 orang telah melayarinya

PHP ialah bahasa skrip sebelah pelayan sumber terbuka yang popular digunakan secara meluas dalam pembangunan web. Bahasa PHP bukan sahaja mudah dipelajari dan digunakan, tetapi juga menyokong pelbagai paradigma pengaturcaraan, pengaturcaraan berorientasikan objek, pengaturcaraan berfungsi, dll.

Dalam PHP, terdapat beberapa kata kunci sintaks khas, seperti Statik, Akhir, Abstrak, dll. Kata kunci ini mempunyai fungsi khas dalam pengaturcaraan berorientasikan objek. Artikel ini akan memperkenalkan kata kunci ini secara terperinci.

Kata kunci statik

Dalam PHP, kata kunci Statik mempunyai dua kegunaan. Satu digunakan untuk mewakili pembolehubah statik, dan satu lagi digunakan untuk mewakili kaedah statik. Perbezaan antara pembolehubah statik dan kaedah statik dan pembolehubah dan kaedah biasa ialah pembolehubah dan kaedah statik boleh diakses di luar definisi kelas, manakala pembolehubah dan kaedah biasa hanya boleh diakses di dalam definisi kelas.

Pembolehubah statik

Pembolehubah statik merujuk kepada pembolehubah yang ditakrifkan dalam definisi kelas, tetapi nilainya dikongsi antara objek yang berbeza, yang bermaksud bahawa tidak kira berapa banyak objek yang dicipta, nilai pembolehubah statik sentiasa Sama.

Berikut ialah contoh mentakrif dan menggunakan pembolehubah statik:

class Example {

    public static $count = 0;

    public function __construct() {
        self::$count++;
    }
}

$obj1 = new Example();
$obj2 = new Example();
$obj3 = new Example();

echo Example::$count; // 输出3
Salin selepas log masuk

Dalam contoh ini, pembolehubah statik awam $count meningkat sebanyak 1 setiap kali tika kelas dicipta. Dalam baris terakhir, kita boleh mengakses nilai pembolehubah statik melalui nama kelas, iaitu output 3.

Kaedah statik

Kaedah statik merujuk kepada kaedah yang ditakrifkan di dalam takrifan kelas, tetapi ia boleh dipanggil terus tanpa membuat instantiating kelas.

Berikut ialah contoh mentakrif dan menggunakan kaedah statik:

class Example {

    public static function sayHello() {
        echo "Hello World!";
    }
}

Example::sayHello(); // 输出 "Hello World!"
Salin selepas log masuk

Dalam contoh ini, kami mentakrifkan kaedah statik sayHello, yang tidak perlu membuat instantiate kelas tetapi meneruskan nama kelas secara langsung dan nama kaedah untuk dipanggil.

Kata kunci akhir

Kata kunci akhir digunakan untuk menunjukkan bahawa kelas atau kaedah tidak boleh ditindih oleh subkelas. Dalam erti kata lain, jika kelas atau kaedah diisytiharkan muktamad, kelas atau kaedah itu tidak boleh diwarisi atau ditindih.

Berikut ialah contoh penggunaan kata kunci akhir:

final class Example {

    final public function sayHello() {
        echo "Hello World!";
    }
}

class Subclass extends Example {
    // 报错:不能继承被final修饰的类
}

class AnotherClass {

    public function sayHello() {
        echo "Hi, everyone!";
    }
}

class YetAnotherSubclass extends AnotherClass {

    final public function sayHello() {
        echo "Hello World!";
    }
}

class FinalClass extends YetAnotherSubclass {

    // 报错:不能重写被final修饰的方法
}
Salin selepas log masuk

Dalam contoh ini, kedua-dua kelas Contoh dan kaedah sayHello diisytiharkan muktamad, dan subkelas SubClass mahupun FinalClass tidak boleh mewarisi atau mengatasi Kelas dan kaedah ini diubah suai muktamad.

Kata kunci abstrak

Kata kunci abstrak digunakan untuk menunjukkan bahawa kelas atau kaedah adalah abstrak, iaitu, ia tidak boleh digunakan atau dilaksanakan. Kaedah yang ditakrifkan dalam kelas abstrak hanyalah pengisytiharan kaedah tanpa pelaksanaan khusus. Kaedah ini mesti dilaksanakan secara konkrit dalam subkelas.

Berikut ialah contoh penggunaan kata kunci Abstrak:

abstract class Animal {
    abstract public function makeSound();
}

class Cat extends Animal {

    public function makeSound() {
        echo "Meow!";
    }
}

class Dog extends Animal {

    public function makeSound() {
        echo "Woof!";
    }
}

$obj1 = new Cat();
$obj1->makeSound(); // 输出 "Meow!"

$obj2 = new Dog();
$obj2->makeSound(); // 输出 "Woof!"
Salin selepas log masuk

Dalam contoh ini, kelas abstrak Haiwan ditakrifkan, yang mentakrifkan kaedah abstrak makeSound. Subkelas Kucing dan Anjing mesti melaksanakan kaedah ini sebelum ia boleh digunakan.

Kesimpulan

Kata kunci statik, akhir dan abstrak biasanya digunakan sintaks dalam pengaturcaraan berorientasikan objek PHP dan merupakan alat yang sangat penting untuk pembangun. Menguasai penggunaan kata kunci ini boleh membantu kami menulis kod PHP yang betul, mantap dan cekap.

Atas ialah kandungan terperinci Sintaks khas dalam PHP: Statik, Akhir, Abstrak dan kata kunci lain. 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