Maison  >  Article  >  développement back-end  >  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

黄舟
黄舟original
2017-03-30 10:08:431687parcourir

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;

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!";
    }
}

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

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

?>

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!

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