php 父类静态 怎么调用 子类静态??

 我来答
rainbyte
2011-06-06 · TA获得超过195个赞
知道小有建树答主
回答量:118
采纳率:0%
帮助的人:100万
展开全部
直接用 类名::方法名/变量名
class Test{
private static $a=123;
private static function Do(){
echo "啦啦啦啦啦";
}
}
echo Test::$a;
Test::Do();
在那都可以这样调用. 在自己里面调用就用self::$a self::Do()
追问
我设计中 有好多子类 继承 一个父类    而父类中的静态函数 要 分别调用子类的静态函数
我原来用self::child_class_static_function() 结果调用的是父类的,我把子类的哪个静态函数申明为虚静态,php打警告。 有人说 用 get_class($this) 方法 但是我的父类的哪个就是静态的,没有对象的概念。 怎么 搞 呀? 如果没有办法 只能用 傻傻的方法了 父类静态函数 分别拷贝到子类去了。
追答
在面向对象的概念里面.我个人的是,不应该出现父类调用子类的现象.子类的方法对于父类是不可见的.
父类是先于子类设计的,子类是继承自父类,理论上子类的修改是不影响父类的.如果出现父类调用子类的现象,这个继承的意义就被破坏了.修改某一子类,就修改了父类,从而出现很多不可预知的现象,有可能破坏其它子类.
如果非得在父类调用子类的方法,建议在子类覆盖/重载父类的某一方法,从而使得局限在这一子类中,出现父类调用子类的现象.
-------------------
另外,PHP类中的静态变量,静态方法.可以看作是一个命名方式不同的,普通的变量定义和函数定义.它们的使用方式 仅仅是 类名::变量/方法.和具体对象没有绝对的关系.就是说它们是不需要经过实例化就能够使用的变量和方法.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ekai_he
2011-06-06 · TA获得超过890个赞
知道小有建树答主
回答量:998
采纳率:50%
帮助的人:869万
展开全部
你的问题问的有点奇怪 不明白什麽意思!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式