特征优先级规则可以用于属性吗?我的初步研究没有发现任何问题,测试也没有结果。...
trait ReuseThis{
public $Dependency_Property;
public function mutateProperty(){
//...long method
}
}
trait privatePropInstead{
private $Dependency_Property;
}
class precedence_test{
//would like to reuse long methods of ReuseThis, but with private properties
use ReuseThis,privatePropertyInstead{
//all of these fail
//privatePropInstead->Dependency_Property insteadof ReuseThis;
//privatePropInstead::$Dependency_Property insteadof ReuseThis;
//privatePropInstead::Dependency_Property insteadof ReuseThis;
}
}
[如果是财产,在哪里声明都没有关系,重要的是财产的价值。
value problem
可以并且应该通过将值分配给属性来解决,并且应该在public function __construct()
中完成。这是此功能的全部目的。
PS
该值分配在static
属性中无法正常工作,但是我强烈劝阻所有人不要使用static
属性。只需将另一个类用作单例……好吧,这是一个讨论其他问题的话题。