Heim  >  Artikel  >  Backend-Entwicklung  >  PHP: Detaillierte Erläuterung der Konstruktionsmethode

PHP: Detaillierte Erläuterung der Konstruktionsmethode

黄舟
黄舟Original
2017-07-02 09:39:372613Durchsuche

1. 8 Punkte zur Konstruktormethode :
①Der Name der Konstruktormethode ist derselbe wie der Klassenname (php4-Version). ), PHP5-Version Der Name der Konstruktormethode kann mit dem Klassennamen identisch sein oder er kann sein: construction()
②Die Konstruktormethode hat keinen Rückgabewert
③Die Die Hauptfunktion der Konstruktormethode besteht darin, die 🎜>Initialisierung eines neuen Objekts abzuschließen, nicht die
Erstellung des Objekts selbst.
④Nachdem ein neues Objekt erstellt wurde, ruft das System automatisch den Konstruktor der Klasse auf, und Sie müssen keinen Code schreiben, um es selbst aufzurufen
⑤Eine Klasse hat und nur eine Konstruktormethode. Obwohl Konstrukt () und Klassenname () nach PHP5 koexistieren können, kann tatsächlich nur eine verwendet werden.
⑥Wenn es keine benutzerdefinierte Konstruktionsmethode für die Klasse gibt, verwendet die Klasse die Standardkonstruktionsmethode des Systems. */
⑦ Wenn ein Konstruktor für eine Klasse angepasst wird, wird der Standardkonstruktor der Klasse überschrieben.

⑧Der Standardzugriffsmodifikator des Konstruktors ist öffentlich


2. In PHP 5 eine A-Klasse kann zwei Formen von Konstruktoren gleichzeitig haben:

Konstrukt() und Klassenname() Wenn beide gleichzeitig vorhanden sind, wird Konstrukt() zuerst aufgerufen die Zukunft.

Die beiden Konstrukteure lauten wie folgt:

publicfunction  construt(){//函数体;}      
publicfunction 类名(){//函数体;}


Es kann nur eine Form des Konstruktors in PHP4 geben:

public
function 类名()
{
//函数体;
}

3. Konstruktionsmethode Hinweise:
(1) Sobald ein Konstruktor angepasst wird, wird der Standardkonstruktor überschrieben. Zu diesem Zeitpunkt muss der angepasste Konstruktor beim Erstellen eines Objekts verwendet werden.
(2) Eine Klasse kann nur einen Konstruktor haben. (Kann nicht überladen werden)

4 >

<?php
//屏蔽程序 notice 级错误  
error_reporting(E_ALL^E_NOTICE); 
//php面向对象编程之构造方法: 
class Person1{
       public $name;
       public $age;
}
$p1=new Person1();
//再给属性赋值
$p1->name="宋江";
$p1->age=33;
//this的理解:
class Person2
{
	public $name;
	public $age;
	//这个就是构造方法,php5独有
	public function construct($iname,$iage)
	{
		//这里如果我们直接用$name,$age,系统认为我们是创建了两个新的变量
		//$name=$iname;
		//$age=$iage;
		//此处的$this->name、$this->age则解决了以上问题,加上$this之后该变量就是指上面创建的成员属性;
		//$this 本质可以理解就是这个对象的地址,哪个对象传递时使用到$this, 就是传递哪个对象地址;
<span style="white-space:pre">		</span>//this就相当于传的是地址,把上面$name的地址传过来了而不是再新建一个$name变量
		//注意:$this只能在类中使用,不能在类外部使用.
		$this->name=$iname;
		$this->age=$iage;
		echo "执行构造方法<br/>";
	}  
}
$p1=new Person2("张清",90);
echo "我是".$p1->name."--我现在的年龄是".$p1->age."<br/>";
$p2=new Person2("宋江",33);
echo "我是".$p2->name."--我现在的年龄是".$p2->age."<br/>";

class Cat
{	
	//每一个类中必须有一个构造方法,若我们不定义,系统会自动生成
	//若不定义构造方法,则该类使用系统默认的构造方法,类中默认的构造方法如下:      
	function construt()
	{
		
	}      
}
$cat1=new Cat();
?>

Das obige ist der detaillierte Inhalt vonPHP: Detaillierte Erläuterung der Konstruktionsmethode. 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