首页 > 解决方案 > PHP继承 - 具有子属性的父函数

问题描述

使用 PHP 5.4 - 公司不会升级,因为它会破坏现有代码。对于那个很抱歉。

说我有一堂课Resource

class Resource {
  private $resourceIdentifier;

  public function __construct() {
    $this->resourceIdentifier = "ResourceId";
  }

  public function getIdentifier() {
    return $this->resourceIdentifier;
  }
}

然后,该班级有一个孩子:

class Employee extends Resource {
  public function __construct() {
    $this->resourceIdentifier = "EmployeeId";
  }
}

然后我创建一个员工实例并调用 getIdentifier()

$emp = new Employee();
echo $emp->getIdentifier();

函数会$resourceIdentifier从父级还是子级返回?

最重要的是,如果我没有$resourceIdentifier在父母中定义但我在孩子中定义,会发生什么?

class Resource {
  public function getIdentifier() {
    return $this->resourceIdentifier;
  }
}

class Employee extends Resource {
  private $resourceIdentifier;

  public function __construct() {
    $this->resourceIdentifier = "EmployeeId";
  }
}

标签: phpinheritance

解决方案


最重要的是,如果我没有在父级中定义 $resourceIdentifier 而在子级中定义会发生什么?

回答:

如果您定义它具有父级并在子级中调用它,则您遵循继承的概念,因此您可以为许多子级使用相同的 $resourceIdentifier。

该函数会从父级或子级返回 $resourceIdentifier 吗?

答: 从父类类型字段访问子类方法

试着看这个


推荐阅读