Maison >développement back-end >tutoriel php >Comment fonctionnent les opérateurs d'objet PHP (`->` et `::`) ?

Comment fonctionnent les opérateurs d'objet PHP (`->` et `::`) ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-05 04:28:08900parcourir

How Do PHP's Object Operators (`->` et `::`) Vous travaillez ?
` et `::`) Ça marche ? " />

Opérateurs d'objet en PHP

En PHP, nous utilisons des opérateurs d'objet pour interagir avec les objets et exploiter leurs propriétés et méthodes. Il existe deux opérateurs d'objet principaux :

1. Opérateur d'objet (>)

Cet opérateur nous permet d'accéder aux propriétés de l'instance et d'invoquer des méthodes. au sein d'un objet. Sa syntaxe est la suivante :

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

Par exemple, étant donné la définition de classe suivante :

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

Nous pouvons créer une instance de cette classe et utiliser l'opérateur objet. pour accéder à ses propriétés et appeler ses méthodes :

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

2. (::)

Cet opérateur est utilisé dans trois scénarios :

  • Appel de méthodes statiques : Les méthodes statiques sont définies à l'aide du mot-clé static et font ne nécessitent pas d'instance d'objet. Nous pouvons les appeler en utilisant l'opérateur :: suivi de la méthode. name.
class Math {
    public static function add($a, $b) {
        return $a + $b;
    }
}

$result = Math::add(5, 10); // Output: 15
  • Accès aux variables statiques : Les variables statiques appartiennent à la classe elle-même, et non à des instances individuelles. Nous pouvons y accéder en utilisant l'opérateur ::.
class Counter {
    public static $count = 0;
    public function increment() {
        self::$count++;
    }
}

Counter::increment(); // Increment the static $count
echo Counter::$count; // Output: 1
  • Appeler les méthodes du parent : Lors de l'utilisation héritage, nous pouvons appeler une méthode d'une classe parent au sein d'une classe enfant en utilisant l'opérateur ::.
class Animal {
    public function move() {
        //...
    }
}

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn