访问子类对象中的父属性

时间:2012-02-27 08:55:56

标签: php oop

我刚刚开始使用OO php,请原谅我的无知。

假设我有一个A级

class A{
    function show(){
        return 15;
        }
    }

和一个孩子B级

class B extends A{
    function show(){
        return 25;
        }
    }

当我这样做时

$object = new B;
$object->show();

我得到25,这意味着我访问了孩子的财产。如何访问父属性;

我尝试了$ object-&gt; A :: show(),$ object :: show(),我一直在收到错误,因为我刚刚开始,我真的不知道谷歌的用途。< / p>

2 个答案:

答案 0 :(得分:4)

你想要做的事情是对象设计的冲突基础 - 如果你覆盖父方法,它不能从子实例外部调用(在parent ::内部)。看看你的设计并试着找出,如何避免这种情况。

编辑: 你调用它的两个例子都是无效的 - 只有有效的是

class B extends A{
  function show(){
    return parent::show();
  }
}

答案 1 :(得分:1)

您要覆盖子类中的函数show,因此要在父类中访问它,您必须实例化类a的对象

$object = new A();
$object->show();

现在可以从子类

中获取父对象函数show()和实例