+ -
当前位置:首页 → 问答吧 → 类的私有属性能被继承吗?

类的私有属性能被继承吗?

时间:2008-09-14

来源:互联网

代码如下:
[php]
<?php
class A
{//私有属性
  private function operation1()
  {
  echo 'operation1 called';
  }

}
class B extends A
{

//构造函数
  function _construct()
  {
  //$this->operation1();能不能被继承?
  $this->operation1();
}
}
?>
[/php]
这个例子运行没有出错。$this->operation1();能被继承?不是说一个属性或方法被指定为private,它将不能被继承吗?

作者: cskwm   发布时间: 2008-09-14

这段代码是有错误的,你将取不到 operation1()

private同一个类可以访问,子类和外部类都不能访问

作者: haowubai   发布时间: 2008-09-14

书上也说这段代码运行会提示出现错误,可是我运行 却没出现错误提示........

作者: cskwm   发布时间: 2008-09-14

子类无法调用父类的私有方法,我试过了,取不到的。

作者: alexchang   发布时间: 2008-09-26

你可以在类a外面定义一个b的对象,然后调用类a的operation1方法试一试,会报错的如下:
Fatal error</b>:  Call to private method A::operation1() from context

作者: alexchang   发布时间: 2008-09-26

你可以在类a外面定义一个b的对象,然后调用类a的operation1方法试一试,会报错的如下:
Fatal error</b>:  Call to private method A::operation1() from context

作者: alexchang   发布时间: 2008-09-26

私有属性可以,私有方法不行

作者: yanhuaguo   发布时间: 2010-08-20