首页 >后端开发 >PHP问题 > 正文

php什么是构造函数

原创2019-09-18 14:20:1201838
php构造函数是类中的一个特殊函数,当使用 new 操作符创建一个类的实例时,构造函数将会自动调用。

当函数与类同名时,这个函数将成为构造函数。

如果一个类没有构造函数,则调用基类的构造函数,如果有的话,则调用该构造函数。(推荐学习: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什么是构造函数的详细内容,更多请关注php中文网其它相关文章!

php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

  • 相关标签:php
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • 专题推荐

    作者信息
    推荐视频教程
  • PHP架构师相关课程视频教程PHP架构师相关课程视频教程
  • ThinkPHP5基础讲解视频教程ThinkPHP5基础讲解视频教程
  • PHP框架系统学习视频教程PHP框架系统学习视频教程
  • 视频教程分类