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

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

Linda Hamilton
Linda Hamiltonasal
2024-12-05 04:28:08902semak imbas

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();

Contohnya, diberi takrifan kelas berikut:

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

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"

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
  • 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
  • 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();
    }
}

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

Kenyataan:
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