Rumah > pembangunan bahagian belakang > tutorial php > Apakah Perbezaan Antara `self` dan `$this` dalam Pengaturcaraan Berorientasikan Objek PHP 5?

Apakah Perbezaan Antara `self` dan `$this` dalam Pengaturcaraan Berorientasikan Objek PHP 5?

DDD
Lepaskan: 2024-12-17 16:26:17
asal
362 orang telah melayarinya

What's the Difference Between `self` and `$this` in PHP 5 Object-Oriented Programming?

Memahami Perbezaan Antara 'self' dan '$this' dalam PHP 5

Apabila bekerja dengan pengaturcaraan berorientasikan objek dalam PHP 5, adalah penting untuk memahami perbezaan antara menggunakan 'diri' dan '$ini' dengan berkesan. Kedua-duanya adalah rujukan tetapi mempunyai tujuan yang berbeza dalam interaksi objek.

'$this' - Merujuk kepada Objek Semasa

Gunakan '$this' untuk mengakses ahli bukan statik pembolehubah dan kaedah dalam contoh semasa objek anda. Ia memberikan penunjuk langsung kepada objek tertentu yang sedang di instantiated. Sintaks '$this->member' membolehkan anda mengakses pembolehubah bukan statik, manakala '$this->method()' menggunakan kaedah contoh.

Contoh:

class Person {
    private $name;

    public function __construct($name) {
        $this->name = $name;
    }

    public function getName() {
        return $this->name;
    }
}
Salin selepas log masuk

Dalam contoh ini, '$this' digunakan untuk mengakses sifat 'name' dan kaedah 'getName()' dalam Objek 'Orang'.

'diri' - Merujuk kepada Kelas Semasa

Sebaliknya, 'diri' digunakan untuk mengakses ahli statik dan kaedah dalam kelas semasa . Ia merujuk kepada kelas itu sendiri, bukan contoh khusus kelas. Sintaks 'self::$static_member' membolehkan akses kepada pembolehubah statik, manakala 'self::static_method()' memanggil kaedah kelas.

Contoh:

class StaticCounter {
    private static $count = 0;

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

    public static function getCount() {
        return self::$count;
    }
}
Salin selepas log masuk

Di sini, 'self' digunakan untuk mengakses pembolehubah statik 'count' dan kaedah kelas 'incrementCount()' dalam Kelas 'StaticCounter'.

Kesimpulan

Memahami penggunaan yang sesuai bagi 'self' dan '$this' adalah penting untuk pengaturcaraan berorientasikan objek yang berkesan dalam PHP 5. ' $this' menyasarkan ahli bukan statik objek semasa, manakala 'diri' memfokuskan pada ahli statik kelas semasa. Dengan menguasai perbezaan ini, anda boleh meningkatkan kejelasan dan fungsi kod anda apabila bekerja dengan kelas dan objek.

Atas ialah kandungan terperinci Apakah Perbezaan Antara `self` dan `$this` dalam Pengaturcaraan Berorientasikan Objek PHP 5?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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