[英]PHP inheritance - Parent function with child attribute
使用 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";
}
}
如果$resourceIdentifier
属性是私有的,则父类无法访问它。 您需要改为保护它:
class Employee extends Resource {
protected $resourceIdentifier;
public function __construct() {
$this->resourceIdentifier = "EmployeeId";
}
}
最重要的是,如果我没有在父级中定义 $resourceIdentifier 而在子级中定义会发生什么?
回答:
如果您定义它具有父项并在子项中调用它,则您遵循继承的概念,因此您可以对许多子项使用相同的 $resourceIdentifier。
该函数会从父级或子级返回 $resourceIdentifier 吗?
试着看看这个
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.