PHP equivalent to C# `: base`

本文关键字:base equivalent to PHP | 更新日期: 2023-09-27 18:34:10

下面的

代码片段的PHP代码等效是什么:

C# 代码:

class Composite : Component
  {
    private List<Component> _children = new List<Component>();
    // Constructor
    public Composite(string name) : base(name)
    {
    }
  }

PHP代码?

我正在寻找: base(name)部分。C# 中的完整代码参考可以在这里找到 http://www.dofactory.com/Patterns/PatternComposite.aspx

PHP equivalent to C# `: base`

PHP 等效项是

class Foo extends Bar {
    public function __construct($param) {
        parent::__construct($param);
    }
}

这在构造函数的 PHP 文档中明确提到。

你应该记住 C# 和 PHP 之间的一个重要区别:在 PHP 中,如果你不显式调用基构造函数,它根本不会被调用!这与 C# 中不同,在 C# 中始终调用基构造函数(尽管如果存在公共无参数构造函数,则可以省略显式调用)。

您正在寻找parent - 父类的访问器。

通过parent,您可以调用基类构造函数:parent::__construct($param, $param2)

请参阅:http://php.net/manual/en/keyword.parent.php

请注意,这直接进入构造函数,如下所示:

public function __construct($x) {
    parent::__construct($x);
}