1. 생성자 메소드 8점:
①생성자 메소드 이름은 클래스 이름과 동일합니다(php4 버전). php5 버전에서는 생성자 메소드 이름이 클래스와 동일할 수 있습니다. 또는 constructor()일 수도 있습니다
②생성자 메서드에는 반환 값이 없습니다
3생성자 메서드의 주요 기능은 새 개체의 초기화를 완료하는 것이지 객체 자체를 생성하는 것이 아닙니다.
4새 객체를 생성한 후 시스템은 자동으로 클래스의 생성자를 호출합니다.
⑤클래스에는 생성자가 하나만 있습니다. 와 클래스명()은 공존할 수 있으나 실제로는 하나만 사용할 수 있다.
⑥클래스에 대한 사용자 정의 생성자가 없는 경우 클래스는 시스템 기본 생성자를 사용합니다. */
7 생성자가 클래스에 맞게 사용자 정의되면 해당 클래스의 기본 생성자가 재정의됩니다.
8생성자의 기본 액세스 한정자는 public
2입니다. PHP 5에서 클래스는 동시에 두 가지 형태의 생성자를 가질 수 있습니다:
구성() 및 클래스 이름(), 둘 다 동시에 존재하는 경우 constructor()가 먼저 호출됩니다. 앞으로는 두 생성자를 사용하십시오.
publicfunction construt(){//函数体;} publicfunction 类名(){//函数体;}
하나만 있을 수 있습니다. in PHP4 양식 생성자:
public function 类名() { //函数体; }
3. 생성자 방법Notes
:(1) 생성자가 사용자 정의되면 이 때 객체를 생성할 때 기본 생성자를 덮어쓰게 됩니다. .
(2) 클래스는 하나의 생성자만 가질 수 있습니다(오버로드할 수 없음)
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(); ?>
위 내용은 PHP: 구축 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!