Home >Backend Development >PHP Tutorial >PHP: Detailed explanation of the construction method

PHP: Detailed explanation of the construction method

黄舟
黄舟Original
2017-07-02 09:39:372625browse

1, 8 points on the construction method:
①The construction method name is the same as the class name (php4 version),php5 version The constructor method name can be the same as the class name, or it can be construct()
②The constructor method has no return value
③The main function of the constructor method is to complete the Initialization of new objects is not creating the object itself.
④After creating a new object, the system will automatically call the constructor of the class, and there is no need to write your own code to call it
⑤A class has and only one constructor Method, although construct() and classname() can coexist after php5, in fact only one can be used.
⑥If there is no custom construction method for the class, the class uses the system default construction method. */
⑦If a constructor is customized for a class, the default constructor of the class will be overridden.

⑧The default access modifier of the constructor is public

2, in PHP 5 A class can have two forms of constructors at the same time:
construct() and class name(). When both exist at the same time, construct() will be called first. Please use construct() in the future

The two constructors are as follows:

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


## There can only be one form of constructor in PHP4:

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

3. Construction method Notes:
(1 ) Once a constructor is customized, the default constructor will be overwritten. At this time, the customized constructor must be used when creating an object.
(2) A class can only There is a constructor. (Cannot be overloaded)

##4. Constructor code example:

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


The above is the detailed content of PHP: Detailed explanation of the construction method. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn