Chinaunix首页 | 论坛 | 博客
  • 博客访问: 460386
  • 博文数量: 141
  • 博客积分: 211
  • 博客等级: 入伍新兵
  • 技术积分: 1049
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-17 16:25
个人简介

如此经年,望尽千帆。

文章分类

全部博文(141)

文章存档

2014年(73)

2013年(65)

2012年(3)

我的朋友

分类: PHP

2014-06-22 22:19:23

在5.3中,给类加入了关键词static,用于实现延迟静态绑定(late static binding)。
没怎么用过这个新特性,其实也不算新啦,试试吧,现在静态类的继承很方便了。
例子:

  1. <?php
  2. class A {
  3.  protected static $def = '123456';
  4.  public static function test() {
  5.   echo get_class(new static);
  6.  }

  7.  public static function test2() {
  8.   echo static::$def;
  9.  } //
  10. }

  11. class B extends A {
  12.  protected static $def = '456789';
  13. }

  14. class C extends A {
  15.  protected static $def = 'abcdef';
  16. }

  17. echo B::test();
  18. echo '
    '
    ;
  19. echo C::test();
  20. echo '
    '
    ;
  21. echo B::test2();
  22. echo '
    '
    ;
  23. echo C::test2();
  24. echo '
    '
    ;
  25. echo A::test();
  26. echo '
    '
    ;
  27. echo A::test2();
  28. echo '
    '
    ;

  29. // 输出结果
  30. B
  31. C
  32. 456789
  33. abcdef
  34. A
  35. 123456
阅读(861) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~