使用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";
}
}
然后我创建一个employee实例并调用getIdentifier()
$emp = new Employee();
echo $emp->getIdentifier();
该函数将从父级或子级返回$resourceIdentifier
吗?
最重要的是,如果我没有在父母中定义$resourceIdentifier
而在孩子中定义了{1>},会发生什么?
class Resource {
public function getIdentifier() {
return $this->resourceIdentifier;
}
}
class Employee extends Resource {
private $resourceIdentifier;
public function __construct() {
$this->resourceIdentifier = "EmployeeId";
}
}
答案 0 :(得分:0)
如果$resourceIdentifier
属性是私有的,则父类无法访问它。您需要改为对其进行保护:
class Employee extends Resource {
protected $resourceIdentifier;
public function __construct() {
$this->resourceIdentifier = "EmployeeId";
}
}
答案 1 :(得分:0)
最重要的是,如果我没有在父级中定义$ resourceIdentifier,但在子级中定义了$ resourceIdentifier,会发生什么呢?
答案:
如果您定义它具有父项,并在子项中调用它,则您将遵循 继承的概念,因此您可以使用相同的$ resourceIdentifier 对于许多孩子来说。
该函数将从父级或子级返回$ resourceIdentifier吗?
答案: Accessing child class method from parent-class-typed field
尝试查看此内容