Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Pengendali Objek PHP (`->` dan `::`) Berfungsi?

Bagaimanakah Pengendali Objek PHP (`->` dan `::`) Berfungsi?

Linda Hamilton
Lepaskan: 2024-12-05 04:28:08
asal
981 orang telah melayarinya

How Do PHP's Object Operators (`->` dan `::`) Kerja?
` dan `::`) Kerja? " />

Operator Objek dalam PHP

Dalam PHP, kami menggunakan pengendali objek untuk berinteraksi dengan objek dan memanfaatkan sifat dan kaedahnya. Terdapat dua pengendali objek utama:

1. Operator Objek (>)

Operator ini membenarkan kami untuk mengakses sifat contoh dan menggunakan kaedah dalam objek Sintaksnya adalah seperti berikut:

$object->property;
$object->method();
Salin selepas log masuk

Contohnya, diberi takrifan kelas berikut:

class Person {
    private $name;
    public function sayHello() {
        return "Hello, my name is " . $this->name;
    }
}
Salin selepas log masuk

Kita boleh mencipta contoh bagi kelas ini dan gunakan operator objek untuk mengakses sifatnya dan menggunakan kaedahnya:

$person = new Person();
$person->name = "John Doe";
echo $person->sayHello(); // Output: "Hello, my name is John Doe"
Salin selepas log masuk

2 (::)

Operator ini digunakan dalam tiga senario:

  • Memanggil Kaedah Statik: Kaedah statik ditakrifkan menggunakan kata kunci statik dan lakukan tidak memerlukan contoh objek Kita boleh memanggilnya menggunakan operator ::, diikuti dengan kaedah name.
class Math {
    public static function add($a, $b) {
        return $a + $b;
    }
}

$result = Math::add(5, 10); // Output: 15
Salin selepas log masuk
  • Mengakses Pembolehubah Statik: Pembolehubah statik tergolong dalam kelas itu sendiri, bukan kepada kejadian individu Kami boleh mengaksesnya menggunakan operator ::.
class Counter {
    public static $count = 0;
    public function increment() {
        self::$count++;
    }
}

Counter::increment(); // Increment the static $count
echo Counter::$count; // Output: 1
Salin selepas log masuk
  • Menelefon Ibu Bapa Kaedah: Apabila menggunakan warisan, kita boleh memanggil kaedah daripada kelas induk dalam kelas anak menggunakan pengendali ::.
class Animal {
    public function move() {
        //...
    }
}

class Dog extends Animal {
    public function bark() {
        // Call the move() method from the parent class using ::
        parent::move();
    }
}
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Pengendali Objek PHP (`->` dan `::`) Berfungsi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan