标签:
PHP中对类进行实例化的同时会调用类的构造函数进行一些初始操作,如为类中的成员变量赋初值,可以说构造函数是类的入口。
在PHP4.x中构造函数是与类名同名的函数,而在PHP5.x以后的版本中,构造函数统一使用名为__construct()
的函数。由于PHP5.x向下兼容PHP4.x,所以在PHP5.x中使用与类名同名的构造函数也是可以的,不过开发人员如果使用5以上版本的的PHP,建议使用__construct()
作为构造函数,这样可以保证编码风格的统一。
在PHP4.x中构造函数的定义格式如下:
<?php
class MyClass
{
function MyClass(var0, var1,...., varn)
{
//对类的操作
}
}
在PHP5以上的版本中,使用__construct()方法作为类的构造方法。
<?php
class MyClass
{
public function __construct(var0, var1,...., varn)
{
//对类的初始操作
}
}
例如:
创建类MyClass,在类体中只创建构造方法__construct()
,代码如下
<?php
class MyClass
{
public function __construct()
{
echo "对类的初始操作";
}
}
$myClass = new MyClass();
运行结果为:
对类的初始操作
利用子类不仅可以调用父类的属性和普通方法,也可以通过调用父类的构造方法为父类初始化,格式如下:
parent::__construct();
与调用其他属性和方法一样,子类也是通过parent关键字调用父类的构造方法的。
例如:
创建MyClass作为父类,在父类中定义构造方法__construct()
,定义子类ChildClass,在子类的构造方法中,使用parent关键字调用父类的构造方法,代码如下:
<?php
class MyClass
{
public function __construct()
{
echo "父类的构造函数";
}
}
class ChildClass extends MyClass
{
public function __construct()
{
parent::__construct();
}
}
$childClass = new ChildClass();
运行结果为:
父类的构造函数
标签:
原文地址:http://blog.csdn.net/qq_28602957/article/details/51181222