+ -
当前位置:首页 → 问答吧 → 子类继承父类的方法,如何调用子类本身静态属性值?

子类继承父类的方法,如何调用子类本身静态属性值?

时间:2011-07-13

来源:互联网


  1. class a
  2. {
  3.         public static $aa = 'a1';
  4.        
  5.         public static function test()
  6.         {
  7.                 echo self::$aa;
  8.         }
  9. }

  10. class b extends a
  11. {
  12.         public static $aa = 'a2';
  13.        
  14.         public static function tt()
  15.         {
  16.                 self::test();
  17.         }
  18. }

  19. b::tt();
复制代码
如上代码会输出父类的属性值a1,而不是a2,我是希望可以得到a1的结果,有知道的大虾给个好的解决办法(我能想到的是调用方法时,把子类属性传递过去),我是想了解有没有内置函数或者什么关键字来实现,版本限制<5.3)

作者: tqjs   发布时间: 2011-07-13

直接打 a::$aa;

作者: 路游宝宝   发布时间: 2011-07-13

静态类没必要做继承..

静态类跟函数很像了.

作者: spser   发布时间: 2011-07-13

直接打 a::$aa;
路游宝宝 发表于 2011-7-13 10:04


    这个是可行的,但是如果多个子类都要用这个,父类怎么知道调用哪个子类名?

静态类没必要做继承..

静态类跟函数很像了.
spser 发表于 2011-7-13 10:05


有些时候还是有用,毕竟统一功能呀,而且函数也没有属性之类的吧?而且很像不等于可以完全互换替代

还是谢谢两位的答复,期待更多的意见

作者: tqjs   发布时间: 2011-07-13

LZ理解有误

作者: iminto   发布时间: 2011-07-13