Maison > développement back-end > tutoriel php > Partage d'exemples de code PHP à l'aide de l'opérateur de résolution de plage

Partage d'exemples de code PHP à l'aide de l'opérateur de résolution de plage

黄舟
Libérer: 2023-03-07 07:56:01
original
1800 Les gens l'ont consulté

La programmation pour les objets utilisera certains de ses propres opérateurs, tels que ->, ce symbole est utilisé Accédez à son propres membres dans un objet. L'autre est l'opérateur de résolution de plage : deux deux-points connectés ensemble (::). Cette notation est utilisée pour accéder aux membres d'une classe (et non d'un objet). L'utilisation est la suivante :

ClassName::methodName();
ClassName::propertyName;
Copier après la connexion

Cette structure peut être utilisée à deux endroits :

1 Lors de l'utilisation d'une classe, la classe parent et la sous-classe ont la même Utilisation. ceci pour éviter toute confusion lors de l'utilisation des propriétés et des méthodes .

2. En dehors de la classe, utilisez cet opérateur pour accéder aux membres de la classe sans créer un objet.

Tout comme nous pouvons utiliser $this dans une classe pour référencer une instance de l'objet actuel, le mot-clé self est utilisé comme référence à la classe actuelle.

class SomeClass {
    function construct() {
        self::do();
    }

    protected function do(){
        echo "done!";
    }
}
Copier après la connexion

Dans ce code, self::do() déclenchera la méthode do() de la classe actuelle.

Pour référencer un membre de la classe parent, vous pouvez utiliser le mot-clé parent et l'opérateur de résolution de plage pour référencer :

class SomeOtherClass extends SomeClass {
    function construct() {
        parent::do();
    }
}
Copier après la connexion

Dans la plupart des cas, nous utilisons l'opérateur de résolution de plage pour accéder Méthode remplacée. Nous pouvons également l'utiliser pour accéder aux membres statiques et constants.

Remarque : comme les propriétés statiques, les constantes de classe sont accessibles par toutes les instances de la classe (ou ses sous-classes). Mais sa valeur ne peut pas être modifiée. Les constantes de classe sont créées à l'aide du mot-clé const , suivi du nom de la constante (sans le signe dollar). Les constantes ne sont pas accessibles via des objets, tels que $obj->PI ou $obj::PI, mais nous pouvons utiliser ClassName::CONSTANT_NAME n'importe où. Vous pouvez également utiliser self::CONSTANT_NAME dans les méthodes d'une classe.

Exemple de programme :

<?php  
	class Rectangle {
		protected static $_count = 0;
		protected $width;
		protected $height;

		function construct($width, $height) {
			$this->width = $width;
			$this->height = $height;
			self::$_count++;
			echo "已成功创建".self::$_count."个Rectangle对象<br>";
		}

		function destruct() {
			echo "销毁一个Rectangle对象<br>";
		}

		function getArea() {
			echo "Rectangle面积是:".($this->width * $this->height."<br>");
		}

		function getConunt() {
			return self::$_count;
		}
	}

	class Square extends Rectangle {
		function construct($side) {
			$this->width = $side;
			$this->height = $side;
			parent::$_count++;
			echo "已成功创建".parent::$_count."个Rectangle(Square)对象<br>";
		}
	}

	$rec = new Rectangle(10, 5);
	$rec->getArea();

	$square = new Square(10);
	$square->getArea();

?>
Copier après la connexion

Résultat d'exécution :


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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal