在PHP的面向对象编程中,总是会有
类测试{
公共静态
函数测试(){
自我::函数();
静态::函数();
}
公共静态函数(函数){
}
但是你知道自我和静态之间的
区别吗
其实差别很简单,只需要写几个demo就明白了:
自我演示:
汽车类
{
公共静态函数模型(){
自::getmodel();
}
保护静态函数getmodel(){
这是一辆汽车模型;
}
}
车型:(
型号);
汽车出租
{
保护静态函数getmodel(){
这是出租汽车模型;
}
}
出租车::模型();
得到的输出
这是一辆汽车模型。
这是一辆汽车模型。
可以
发现,自我仍然是调用子类中父类的
方法。
演示静态
汽车类
{
公共静态函数模型(){
静态::getmodel();
}
保护静态函数getmodel(){
这是一辆汽车模型;
}
}
车型:(型号);
汽车出租
{
保护静态函数getmodel(){
这是出租汽车模型;
}
}
出租车::模型();
得到的输出
这是一辆汽车模型。
这是出租汽车模型。
你可以看到,在调用静态的,甚至如果调用父类的方法的一个子类,而且调用父类的方法的方法是子类的方法(好口..)
在PHP5.3版本,有静态和自我之间的差异是什么,毕竟是世界7版。我不知道的话。
总结是,自我只能引用当前类中的方法,静态关键字允许函数在
运行时动态地绑定类中的方法。