您好,欢迎访问一九零五行业门户网

php面向对象之静态方法、属性和常量

这篇文章主要介绍了关于php面向对象之静态方法、属性和常量 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
静态方法、属性定义使用static关键字定义;
声明类属性或方法为静态,即可以不实例化,直接访问。
注意:1)静态属性,不可以通过实例化对象访问;
2)静态方法,可以;
3)静态方法,不可以使用$this
使用方法 :: 或  self::
具体如下所示:
  访问位置           调用属性           调用方法类的内部/外部       类名::属性名      类名::方法名   内部           self::属性名      self/类名::方法名
综合例子<?phpclass myclass{ // 静态属性 public static $a = 'static'; // 静态方法 public static function func1() { echo '静态方法'; // 类的内部调用静态属性 echo myclass::$a; echo self::$a; // 类的内部调用静态方法 myclass::func2(); self::func2(); } // 试验静态方法调用另一个静态方法 public static function func2() { echo 'this is static function 2.'; }}// 类的外部调用静态属性、方法echo myclass::$a;myclass::func1();// 实例化后再调用$me = new myclass();echo $me::$a; // 调用成功// echo $me ->a; 调用失败$me -> func1(); // 调用成功
常量const可以把类中始终不变的值,定义为常量。
常量的值,必须是一个定值。
调用方法,同static。
例子class myclass{ public static $a = 'abc'; const num = 123;}echo myclass::$a;echo '<br/>';echo myclass::num;echo '<br/>';// 修改静态属性myclass::$a = 'def';echo myclass::$a;echo '<br/>';// 修改常量//myclass::num = 234; 赋值失败
相关推荐:
php面向对象之构造函数和析构函数
php面向对象之封装
php面向对象之类与实例化对象       
以上就是php面向对象之静态方法、属性和常量的详细内容。
其它类似信息

推荐信息