在类中自定义构造方法的基本语法:
//php5
[修饰符]function __construct([参数列表]){
}
//php4
[修饰符]function 类名([参数列表]){
}
学编程,新手学php 面向对象编程,多看例子,多练习,进步就会很快。
再好的php 教程,也教不会你写代码,只能自己多实践!
来看具体的例子吧,这样才好理解。
<?php /** php 构造方法 * by 脚本学堂 www.jb200.com */ class Person{ public $name; public $age; //构造方法 php5 public function __construct($name,$age){ $this->name=$name; $this->age=$age; } //构造方法 php4 写在这里是php5为了兼容PHP4 public function Person($name,$age){ $this->name=$name; $this->age=$age; } } $p1=new Person("老大",27); echo $p1->name; $p1=new Person("小二",26); $p1=new Person("小三",24); ?>
注意:
1)、$this 的理解:
1、$this 本质可以理解就是这个对象的地址
2. 哪个对象使用到$this, 就是哪个对象地址
3. $this不能在类外部使用
2)、构造方法的理解:
构造方法名和类名相同(php4版),php5版的构造方法名可以和类名相同,也可以是__construct()。
构造方法的默认访问修饰符是public,同时构造方法没有返回值。
创建新对象成功后,系统自动的调用该类的构造方法。
一个类有且只有一个构造方法,在php5后虽然__construct() 和 类名() 可以共存,但是实际上也只能使用一个。
如果没有给类自定义构造方法,则该类使用系统默认的构造方法。
如果给类自定义了构造方法,则该类的默认构造方法被覆盖。
有了以上的学习,php 面向对象之构造函数不再难了吧。