Heim  >  Artikel  >  Backend-Entwicklung  >  Teilen von PHP-Beispielcode mithilfe des Bereichsauflösungsoperators

Teilen von PHP-Beispielcode mithilfe des Bereichsauflösungsoperators

黄舟
黄舟Original
2017-03-30 10:08:431741Durchsuche

Programmieren für Objekte verwendet einige seiner eigenen Operatoren, wie zum Beispiel ->, dieses Symbol wird verwendet, um darauf zuzugreifen eigene Mitglieder in einem Objekt. Der andere ist der Bereichsauflösungsoperator: zwei miteinander verbundene Doppelpunkte (::). Diese Notation wird verwendet, um auf Mitglieder innerhalb einer Klasse (nicht innerhalb eines Objekts) zuzugreifen. Die Verwendung ist wie folgt:

ClassName::methodName();
ClassName::propertyName;

Diese Struktur kann an zwei Stellen verwendet werden:

1 Bei der Verwendung einer Klasse haben die übergeordnete Klasse und die Unterklasse die gleiche Verwendung Dies dient dazu, Verwirrung bei der Verwendung von Eigenschaften und Methoden zu vermeiden .

2. Verwenden Sie außerhalb der Klasse diesen Operator, um auf Mitglieder der Klasse zuzugreifen, ohne ein Objekt zu erstellen.

So wie wir $this in einer Klasse verwenden können, um auf eine Instanz des aktuellen Objekts zu verweisen , wird das Schlüsselwort self als Verweis auf die aktuelle Klasse verwendet.

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

    protected function do(){
        echo "done!";
    }
}

In diesem Code löst self::do() die do()-Methode der aktuellen Klasse aus.

Um auf ein Mitglied der übergeordneten Klasse zu verweisen, können Sie das Schlüsselwort parent und den Bereichsauflösungsoperator als Referenz verwenden:

class SomeOtherClass extends SomeClass {
    function construct() {
        parent::do();
    }
}

In den meisten Fällen verwenden wir den Bereichsauflösungsoperator für den Zugriff Überschriebene Methode. Wir können es auch verwenden, um auf statische und konstante Mitglieder zuzugreifen.

Hinweis: Wie statische Eigenschaften können alle Instanzen der Klasse (oder ihrer Unterklassen) auf Klassenkonstanten zugreifen. Aber sein Wert kann nicht geändert werden. Klassenkonstanten werden mit dem const-Schlüsselwort erstellt, gefolgt vom Konstantennamen (ohne Dollarzeichen). Auf Konstanten kann nicht über Objekte wie $obj->PI oder $obj::PI zugegriffen werden, aber wir können ClassName::CONSTANT_NAME überall verwenden. Sie können self::CONSTANT_NAME auch in Methoden innerhalb einer Klasse verwenden.

Beispielprogramm:

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

?>

Laufergebnis:


Das obige ist der detaillierte Inhalt vonTeilen von PHP-Beispielcode mithilfe des Bereichsauflösungsoperators. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn