Maison >développement back-end >tutoriel php >PHP : Explication détaillée de la méthode de construction

PHP : Explication détaillée de la méthode de construction

黄舟
黄舟original
2017-07-02 09:39:372629parcourir

1. Explication en 8 points de la Méthode du constructeur  :
①Le nom de la méthode du constructeur est le même que le nom de la classe (php4 version), version php5 Le nom de la méthode constructeur peut être le même que le nom de la classe, ou il peut être construct()
②La méthode constructeur n'a pas de valeur de retour
③La fonction principale de la méthode constructeur est de terminer la 🎜>L'initialisation d'un nouvel objet n'est pas la
création de l'objet lui-même.
④Après avoir créé un nouvel objet, le système appellera automatiquement le constructeur de la classe, et il n'est pas nécessaire d'écrire du code pour l'appeler vous-même
⑤Une classe a et une seule méthode constructeur, bien que construct() et classname() puissent coexister après php5, une seule peut réellement être utilisée.
⑥S'il n'y a pas de méthode de construction personnalisée pour la classe, la classe utilise la méthode de construction par défaut du système. */
⑦ Si un constructeur est personnalisé pour une classe, le constructeur par défaut de la classe sera remplacé.

⑧Le modificateur d'accès par défaut du constructeur est public


2 En PHP 5, une classe A. peut avoir deux formes de constructeurs en même temps :

construct() et class name() Lorsque les deux existent en même temps, construct() est appelé en premier. le futur.

Les deux constructeurs sont les suivants :

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


Il ne peut y avoir qu'une seule forme de constructeur en PHP4 :

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

Méthode de construction Notes :
(1) Une fois qu'un constructeur est personnalisé, le constructeur par défaut sera écrasé. À ce stade, le constructeur personnalisé doit être utilisé lors de la création d'un objet
(2) Une classe. ne peut avoir qu'un seul constructeur (ne peut pas être surchargé)

4. Exemple de code de méthode de constructeur :

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



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