Exemple détaillé d'utilisation de l'opérateur de résolution de plage en PHP

黄舟
Libérer: 2023-03-12 11:40:02
original
1139 Les gens l'ont consulté

La programmation

Orientée objet utilisera certains de ses propres opérateurs, tels que ->, ce symbole est utilisé pour accéder à ses propres membres dans l'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 de classes, la classe parent et la sous-classe ont la même utilisation. pour éviter toute confusion lors de l'utilisation des propriétés et 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 faire référence à l'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 la résolution de plage L’opérateur doit accéder à la 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ésultats en cours 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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!