Blogger Information
Blog 60
fans 5
comment 3
visits 65308
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
后期静态绑定
longlong
Original
631 people have browsed it

后期静态绑定小案例

  1. <?php
  2. // 后期静态绑定的作用:用于在继承范围内引用静态调用的类
  3. // static关键字的作用 :1. 声明静态成员 2. 与调用类绑定
  4. // 在实例化对象时,static 会根据运行时调用的类来决定实例化对象,而 self 则是根据所在位置的类来决定实例化对象。
  5. // 当我们只想实例化子类,并且不希望后续在对子类的使用中由于父类的变化对子类产生影响时,后期静态绑定就能发挥它的作用了
  6. // 示例一:使用self
  7. class Dad1
  8. {
  9. public static $name = '老大';
  10. public static function demo1 () {
  11. // 使用self:: 时,当后期实例化子类时会因为父类的影响而不能取到子类中的值
  12. // 因为self 总是与当前声明该方法的类绑定
  13. return '我的名字是:'.self::$name;
  14. }
  15. }
  16. class Work1 extends Dad1
  17. {
  18. public static $name = '老二';
  19. }
  20. class Work2 extends Dad1
  21. {
  22. public static $name = '老三';
  23. }
  24. echo Work1::demo1(),'<hr>';
  25. echo Work2::demo1(),'<hr>';
  26. // 示例二:使用static
  27. class Dad2
  28. {
  29. public static $name = '老大';
  30. public static function demo2 () {
  31. // 使用static:: 时,会自动与当前方法的调用类绑定
  32. return '我的名字是:'.static::$name;
  33. }
  34. }
  35. class Work3 extends Dad2
  36. {
  37. public static $name = '老二';
  38. }
  39. class Work4 extends Dad2
  40. {
  41. public static $name = '老三';
  42. }
  43. echo Work3::demo2(),'<hr>';
  44. echo Work4::demo2(),'<hr>';

Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:继续
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post