Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Klassen- und Konstruktoranalyse

PHP-Klassen- und Konstruktoranalyse

高洛峰
高洛峰Original
2017-02-18 17:39:24978Durchsuche

Jeder hat ein gewisses Verständnis von Klassen.

----Klassenerstellung----

php verwendet das Schlüsselwort Klasse Erstellen Sie eine Klasse und verwenden Sie ein Paar geschweifte Klammern
wie zum Beispiel:

class name{
  public $n="";
  private $u="";

  public function name() {
    $n="233";
    $u="23333";
  }

  public function rename($newn){
     $this->n=$newn;//this表示这个类
  }
}

ohne Semikolon am Ende. Dann sind $n, $u Felder; name() ist ein Konstruktor (__construct() kann auch einen Konstruktor definieren, siehe unten), der Feldern Werte zuweisen kann. rename() ist eine Methode.

----Field----

Vergleiche
$obj=new name();
echo $obj->n;
mit
$obj=new name();
echo $obj->u;

Ersteres ist ausführbar, Letzteres ist jedoch nicht möglich, da $u zuvor privat deklariert. Dies ähnelt C++.

Code:

public static $nm ="2333333333333333" ;

deklariert ein statisches Feld für die Funktion.
Auf die Variable kann direkt über den Klassennamen und ::

Echoname::$nm; zugegriffen werden;

Dies ähnelt auch C++.

In PHP können Sie auch über self::+$+Variablenname auf statische Felder in der Klasse zugreifen. Zu diesem Zeitpunkt ist self äquivalent zu $this->.

Methoden werden ähnlich wie Felder verwendet


----Konstruktor----

Konstruiert in PHP5 und früheren Versionen. Die Funktion hat den gleichen Namen wie die Klasse


In PHP5 und späteren Versionen kann das Zauberwort __construct() den Konstruktor definieren

Das Zauberwort __construct() kann den Konstruktor definieren

class name{
  public $n="";
  private $u="";

  public function __construct() {
    $n="233";
    $u="23333";
  }

  public function rename($newn){
     $this->n=$newn;
  }
}

Der Konstruktor kann Parameter haben

__construct($name="",$sex="man",$age=0) {}

Bei der Deklaration des Objekts

$obj= new name("I","man",28);

Wenn keine Parameter angegeben werden, ist der Standardwert = nach Wert.

Weitere Artikel zur PHP-Klassen- und Konstruktoranalyse finden Sie auf der chinesischen PHP-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