为了账号安全,请及时绑定邮箱和手机立即绑定

类仅在将值定义为构造函数中的参数时才有效

类仅在将值定义为构造函数中的参数时才有效

PHP
烙印99 2021-08-28 09:12:12
似乎在不将属性值定义为参数的情况下运行一个类应该可行。有人可以澄清为什么下面的 test-1 不起作用吗?// Test-1: Property defined without value.  This does not work.class my_class1 {    private $color_1;    public function __construct($color_1)    {        $this->color_1 = $color_1;    }}// Test-2: Property defined with value. This works.class my_class2 {    private $color_2;    public function __construct($color_2 = 1)    {        $this->color_2 = $color_2;    }}通缉行为:Test-1 应该可以工作,而不必在类构造函数中将变量定义为参数。
查看完整描述

1 回答

?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

如果在构造函数中没有为参数设置默认值,则在实例化类时需要为该参数指定一个值。


$object1 = new my_class1(); // error


$object1 = new my_class1(2); // valid

// $this->color_1 == 2

通过添加默认值,如果您在实例化期间未指定该值,它将使用该值:


$object2 = new my_class2();

// $this->color_2 == 1


$object2b = new my_class2(5);

// $this->color_2 == 5


查看完整回答
反对 回复 2021-08-28
  • 1 回答
  • 0 关注
  • 129 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信