时间:2021-07-01 10:21:17 帮助过:2人阅读
所以非常感性的php,为我们提供了一种便捷高效的方法 static 有了它以后这些统统不再是问题。
下面鄙人为大家讲讲static 的使用方法和特性。
class hw{ public static function hi(){ return 'Hello World!!!'; } } echo hw::hi();
class hw{ public function hi(){ return 'Hello World!!!'; } } echo hw::hi();
从上面的例子可以看出了,使用了static和不使用static属性以后可以直接使用::方法从外面直接调用,但是为了效率和其他方面因素,还是建议使用static 来限制。
class foo{ private static function c(){ return 'abcd'; } public static function a(){ echo self::c(); } } foo::a();
使用了static 关键字来限制方法是必须使用self:: 在本类内部引用,上面的例子已经将的很清楚了。
class foo{ public static $a; public static function a(){ self::$a='abcd'; } } foo::a(); echo foo::$a;
我们同样可以使用static关键字来限制变量 这个时候变量不会一直保持上一次负值时候的值。
class foo{ public static $a; public static function a(){ return 'abcd'; } } class oo extends foo{ public static function a(){ echo '1234'; } } oo::a();
static 的继承和普通类的继承方法一样,并没有太大的区别。
class foo{ public static $a; public static function a(){ return 'abcd'; } } class oo extends foo{ public static function aa(){ echo parent::a(); } } oo::aa();
只是使用的时候有写区别,必须是parent::方法来引用父类的方法,并不能直接self::来使用父类的方法,如下例子,则不会显示任何值:
class foo{ public static $a; public static function a(){ return 'abcd'; } } class oo extends foo{ public static function aa(){ echo self::a(); } } oo::a();
再一个简单的例子
?
http://www.bkjia.com/PHPjc/752510.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/752510.htmlTechArticle众所周知,OOP的目的就是了把一个次编写代码,复制复制再复制,继承继承再继承的合理利用每一次的工作,同时也方便代码管理。哪个环...