博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
类与对象(PHP5)之三:静态关键字(Static Keyword)
阅读量:4168 次
发布时间:2019-05-26

本文共 988 字,大约阅读时间需要 3 分钟。

第19章 类与(PHP5)之三:静态关键字(Static Keyword)
声明静态的类的成员和方法,使它不需要一个类的实例.一个static成员的声明不能通过一个类对象的实例来访问(尽管一个静态方法可以)。
静态声明必须在可见性声明之后。为了兼容 4,如果没有可见性被声明,那么成员和方法将被当作是已经声明为public。
由于静态方法可以调用非对象实例,伪变量$this不可以在声明为静态的方法中使用。
事实上static方法调用形式在编译时被确定。当使用必须要声明的类名时,方法是完全标识和无继承规则的应用。当使用必须要声明的类名时,这种方法就被完全确认,而且没有使用继承的规则。
如果self已经被声明,那么self就被当前所属的类所解释。也不适用与继承规则。静态属性不能通过箭头操作符->.访问非静态方法,这将产生一个E_STRICT 级的警告。
例子 19-13. 静态成员的例子
PHP代码如下:
  1. <?php
  2. class Foo
  3. {   public static $my_static='foo';
  4.     public function staticValue(){   return self::$my_static;   }
  5. }
  6. class Bar extends Foo
  7. {   public function fooStatic(){   return parent::$my_static;   }
  8. }
  9. print Foo::$my_static."/n";
  10. $foo = new Foo();
  11. print $foo->staticValue()."/n";
  12. print $foo->my_static."/n";// Undefined "Property" my_static 
  13. // $foo::my_static is not possible
  14. print Bar::$my_static."/n";
  15. $bar = new Bar();
  16. print $bar->fooStatic()."/n";
  17. ?> 
例子 19-14.静态方法实例(Static method example)
PHP代码如下:
  1. <?php
  2. class Foo
  3. {   public static function aStaticMethod() {    }
  4. }
  5. Foo::aStaticMethod();
  6. ?>

转载地址:http://xjgxi.baihongyu.com/

你可能感兴趣的文章
python条件语句嵌套
查看>>
python range()和xrange()
查看>>
python while循环和for循环
查看>>
python 猜数字游戏
查看>>
python 文档字符串 关键字参数 默认参数 传递函数和lambda函数
查看>>
python lambda函数基础
查看>>
python2 filter() map() reduce()函数基础
查看>>
python 汉诺塔 Fibonacci数列
查看>>
python global语句 变量作用域
查看>>
python 寻找前5个默尼森数
查看>>
python2 type()函数 isinstance()函数
查看>>
python is 同一性运算符
查看>>
python basestring( )
查看>>
python 本地数据获取
查看>>
python write( )函数
查看>>
python read( )函数
查看>>
python readline()函数
查看>>
python readlines()函数
查看>>
python writelines()函数
查看>>
python 文件读写5个实例
查看>>