PHP static / abstract:如何使用继承方法访问私有变量?

时间:2014-01-13 22:47:03

标签: php inheritance

我有一个基本的抽象类(BC)。

我有一个扩展BC的抽象类X. X有一些私有变量。

我搜索是否有可能使用BC中定义的方法(以及继承到X中的方法),该方法可以列出X的所有变量,包括私有变量。

据我了解,除非我在BC和X类定义中使用此特征将方法从BC转移到特征中,否则这是不可能的?

是否有其他解决方案允许我直接在BC中定义方法?

2 个答案:

答案 0 :(得分:0)

如果BC是X的实例,您可以尝试将对方法的调用传递给X.X中的方法将再次提供所需的信息。

if ($this instanceof X) {
    ... // call X-specific method
}

答案 1 :(得分:0)

在我身边的误解 - 抱歉,仍然是一个OO初学者(和痛苦)。

我不知道私有意味着对一个类是私有的,并且这甚至不会继承到继承的类。

但这是有道理的。我的结论:仅使用私有非常少,标准用法将受到保护而不是私有(对于所有应继承但不可从外部访问的内容)。