关于PHP构造函数使用方法揭秘

开发 后端
PHP构造函数的声明与其它操作的声明一样,只是其名称必须是__construct( ),文章有详细的介绍,希望对大家有帮助。

PHP经过长时间的发展,很多用户都很了解PHP了,这里我发表一下个人理解,和大家讨论讨论。大多数类都有一种称为构造函数的特殊方法。当创建一个对象时,它将自动调用PHP构造函数,也就是使用new这个关键字来实例化对象的时候自动调用构造方法。

#T#PHP构造函数的声明与其它操作的声明一样,只是其名称必须是__construct( )。这是PHP5中的变化,以前的版本中,构造函数的名称必须与类名相同,这种在PHP5中仍然可以用,但现在以经很少有人用了,这样做的好处是可以使构造函数独立于类名,当类名发生改变时不需要改相应的构造函数名称了。为了向下兼容,如果一个类中没有名为__construct( )的方法,PHP将搜索一个php4中的写法,与类名相同名的构造方法。格式:function __construct ( [参数] ) { … … }在一个类中只能声明一个构造方法,而是只有在每次创建对象的时候都会去调用一次构造方法,不能主动的调用这个方法,所以通常用它执行一些有用的初始化任务。比如对成属性在创建对象的时候赋初值。

//创建一个人类  
 
0class Person   
0{   
//下面是人的成员属性   
var $name;       //人的名子   
var $sex;        //人的性别   
var $age;        //人的年龄   
//定义一个构造方法参数为姓名$name、性别$sex和年龄$age   
function __construct($name, $sex, $age)   
{   
//通过构造方法传进来的$name给成员属性$this->name赋初使值   
$this->name=$name;   
//通过构造方法传进来的$sex给成员属性$this->sex赋初使值   
$this->sex=$sex;   
//通过构造方法传进来的$age给成员属性$this->age赋初使值   
$this->age=$age;   
}   
//这个人的说话方法   
function say()   
{  
echo "我的名子叫:".$this->name." 性别:".$this->sex." 我的年龄是:".$this->age."<br>";   
}   
}   
//通过构造方法创建3个对象$p1、p2、$p3,分别传入三个不同的实参为姓名、性别和年龄  
$p1=new Person("张三","男", 20);   
$p2=new Person("李四","女", 30);   
$p3=new Person("王五","男", 40);   
//下面访问$p1对象中的说话方法   
$p1->say();   
//下面访问$p2对象中的说话方法   
$p2->say();   
//下面访问$p3对象中的说话方法   
$p3->say();   
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.


 
输出结果为:
我的名子叫:张三性别:男我的年龄是:20
我的名子叫:李四性别:女我的年龄是:30
我的名子叫:王五性别:男我的年龄是:40

责任编辑:田树 来源: 博客
相关推荐

2011-06-16 11:01:56

PHP继承

2009-08-28 17:01:43

C#构造函数

2009-12-07 16:52:59

PHP函数getima

2009-11-30 17:43:54

PHP split()

2009-11-16 15:40:58

PHP数组函数

2009-11-26 15:23:24

PHP函数ereg()

2009-11-26 19:05:04

PHP函数explod

2011-07-12 17:18:23

PHPstrtotime

2009-12-01 19:02:20

PHP取整函数

2009-11-26 18:49:54

PHP函数preg_s

2009-11-18 12:31:19

PHP构造函数

2009-11-16 16:59:03

PHP构造函数

2009-12-02 15:02:09

PHP simplex

2009-11-17 17:38:37

PHP Session

2009-12-02 16:04:44

PHP fsockop

2009-11-30 17:16:34

PHP函数preg_m

2009-11-30 15:00:19

PHP加密解密函数au

2009-11-24 16:18:14

PHP5析构函数

2009-11-18 13:38:27

2009-12-02 18:51:12

PHP分页类
点赞
收藏

51CTO技术栈公众号