时间:2021-07-01 10:21:17 帮助过:2人阅读
当函数与类同名时,这个函数将成为构造函数。
如果一个类没有构造函数,则调用基类的构造函数,如果有的话,则调用该构造函数。(推荐学习:PHP编程从入门到精通)
<?php class Auto_Cart extends Cart { function Auto_Cart(){ $this -> add_item("10", 1); } } ?>
上文定义了一个 Auto_Cart 类,即 Cart 类加上一个构造函数,当每次使用“new”创建一个新的 Auto_Cart 类实例时,构造函数将自动调用并将一件商品的数目初始化为“10”。
构造函数可以使用参数,而且这些参数可以是可选的,它们可以使构造函数更加有用。为了依然可以不带参数地使用类,所有构造函数的参数应该提供默认值,使其可选。
<?php class Constructor_Cart extends Cart { function Constructor_Cart($item = "10", $num = 1){ $this -> add_item($item, $num); } } //买些同样的无聊老货 $default_cart = new Constructor_Cart; //买些实在货... $different_cart = new Constructor_Cart("20", 17); ?>
void __construct ([mixed $args [, $... ]])
PHP 5 允行开发者在一个类中定义一个方法作为构造函数。具有构造函数的类会在每次创建对象时先调用此方法,所以非常适合在使用对象之前做一些初始化工作。
注意
如果子类中定义了构造函数则不会暗中调用其父类的构造函数。要执行父类的构造函数,需要在子类的构造函数中调用parent::__construct()。
使用新标准的构造函数:
<?php class BaseClass{ function__construct(){ print "InBaseClassconstructor\n"; } } class SubClass extends BaseClass{ function__construct(){ parent::__construct(); print "InSubClassconstructor\n"; } } $obj = new BaseClass(); $obj = new SubClass(); ?>
以上就是php什么是构造函数的详细内容,更多请关注Gxl网其它相关文章!