博客列表 >static后期静态绑定-php-27课7.24

static后期静态绑定-php-27课7.24

希望
希望原创
2020年07月27日 10:19:06525浏览

1.self():要创建两个类的实例,代码重复写。

  • self::只绑定当前声明类方法create

  1. <?php
  2. abstract class CreateInstance
  3. {
  4. }
  5. class User1 extends CreateInstance
  6. {
  7. // 创建类的实例
  8. public static function create() : self
  9. {
  10. return new self();
  11. }
  12. }
  13. class User2 extends CreateInstance
  14. {
  15. // 创建类的实例
  16. public static function create() : self
  17. {
  18. return new self();
  19. }
  20. }
  21. // 生成User1实例
  22. $user1 = User1::create();
  23. var_dump($user);
  24. echo "<hr>";
  25. // 生成User2实例
  26. $user2 = User2::create();
  27. var_dump($user2);

2.后期静态绑定static

  • static::可以绑定调用类中的User1和User2

  1. <?php
  2. // static后期静态绑定
  3. abstract class CreateInstance
  4. {
  5. public static $name;
  6. public static $age;
  7. // 创建类的实例
  8. public static function show()
  9. {
  10. return '姓名:'. static::$name . ',年龄:' .static::$age;
  11. }
  12. }
  13. class User1 extends CreateInstance
  14. {
  15. public static $name='小芳';
  16. public static $age='20';
  17. }
  18. class User2 extends CreateInstance
  19. {
  20. public static $name='小李';
  21. public static $age='21';
  22. }
  23. // 生成User1实例
  24. echo User1::show();
  25. echo "<hr>";
  26. // 生成User2实例
  27. echo User2::show();
  • 总结:
  • self只能绑定当前类方法,不能与调用类绑定
  • static可以绑定调用类
  • 将声明类与调用类分离,换关键词,用static,后期静态绑定,才能调用
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议