【问题标题】:Storing default type value in class member declarations在类成员声明中存储默认类型值
【发布时间】:2013-12-03 20:54:18
【问题描述】:

在 PHP(和其他动态类型语言)中,在类成员声明中存储类型相对默认值是不好的做法吗?它会以任何方式影响性能吗?

我的意思的PHP示例:

class Example {
  protected $someNumber = 0;
  protected $someThings = [];
  protected $someString = "";
}

与在构造函数中设置默认值或在实际使用成员之前不设置任何内容相比。

class Example {
  // members are NULL by default
  protected $someNumber;
  protected $someThings;
  protected $someString;

  __construct() {
    $this->someNumber = 0;
    $this->someThings = [];
    $this->someString = '';
  }
}

当涉及到用于存储对象以外的值的变量时,我习惯于在声明中分配默认类型值。 在像 PHP 这样的动态类型语言中,这给了我在检查类时的即时概览,因为我们不能输入提示成员声明。否则我觉得我必须求助于匈牙利符号才能使我的代码有意义。

【问题讨论】:

    标签: php class oop variable-declaration dynamic-typing


    【解决方案1】:

    声明属性的默认值并没有错,相反,我认为这是非常好的做法。这就是语法的用途。在性能方面,它应该(如果有的话)更快,因为在解析期间这些值仅静态分配一次。

    【讨论】:

      猜你喜欢
      • 2013-12-14
      • 1970-01-01
      • 2021-09-17
      • 1970-01-01
      • 2019-09-13
      • 2021-12-18
      • 2016-11-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多