ホームページ >バックエンド開発 >PHPチュートリアル >PHP のオブジェクト演算子 (`->` および `::`) はどのように機能しますか?

PHP のオブジェクト演算子 (`->` および `::`) はどのように機能しますか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-05 04:28:08902ブラウズ

How Do PHP's Object Operators (`->` と `::`) うまくいきましたか?
` と `::`) うまくいきますか? " />

PHP のオブジェクト演算子

PHP では、オブジェクト演算子を利用してオブジェクトと対話し、そのプロパティとメソッドを利用します。主なオブジェクト演算子は 2 つあります。

1. (>)

この演算子を使用すると、インスタンス プロパティにアクセスし、オブジェクト内のメソッドを呼び出すことができます。

$object->property;
$object->method();

たとえば、次のクラスがあるとします。定義:

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

このクラスのインスタンスを作成し、オブジェクト演算子を使用してそのプロパティにアクセスし、そのクラスを呼び出すことができます。メソッド:

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

2. 静的オブジェクト演算子 (::)

この演算子は 3 つのシナリオで使用されます:

  • 静的メソッドの呼び出し: 静的メソッドは static キーワードを使用して定義され、オブジェクトは必要ありません:: 演算子の後にメソッド名を付けて呼び出すことができます。
class Math {
    public static function add($a, $b) {
        return $a + $b;
    }
}

$result = Math::add(5, 10); // Output: 15
  • 静的変数へのアクセス: 静的変数はクラス自体に属します。 :: を使用してアクセスできます。個々のインスタンスにはアクセスできません。演算子.
class Counter {
    public static $count = 0;
    public function increment() {
        self::$count++;
    }
}

Counter::increment(); // Increment the static $count
echo Counter::$count; // Output: 1
  • 親のメソッドの呼び出し: 継承を使用する場合、:: 演算子を使用して、子クラス内の親クラスからメソッドを呼び出すことができます。
class Animal {
    public function move() {
        //...
    }
}

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

以上がPHP のオブジェクト演算子 (`->` および `::`) はどのように機能しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。