博主信息
博文 28
粉丝 0
评论 0
访问量 20873
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
0812静态成员方法
︷肉園耔︷
原创
882人浏览过
  1. <?php
  2. /*
  3. * 类的静态成员 static 关键字 标志静态属性/方法 静态成员只能有本类来调用 为所有实例共享
  4. * 优点:1.在内存中存在多个实例,静态成员在内存中只占一份,为所有实例共享,普通成员以实例的方式会创建多个内存
  5. * 2.静态成员的执行效率比实例化高,不用创建对象就可以直接调用
  6. * 缺点:静态成员不自动进行销毁,而实例化的则可以销毁
  7. *
  8. * */
  9. class User{
  10. public static $name='胡歌';
  11. protected $_config = [
  12. 'auth_on'=>'true',
  13. 'auth_type'=>1 //认证方式 1事实认证 2位登录认证
  14. ];
  15. public static $nation ='China';
  16. private $salary;
  17. //static $count=0; //记录已登录用户的总数
  18. static $count=0;
  19. public function __construct($name,$salary)
  20. {
  21. //静态成员与类的实例无关 不能用$this访问,用self::
  22. self::$name=$name;
  23. $this->salary=$salary;
  24. self::$count ++;
  25. }
  26. public function getCount(){
  27. echo $this->salary;
  28. return sprintf('目前该网站的在线人数为%d<br>',
  29. self::$count);
  30. }
  31. //对象被销毁时自动调用
  32. public function __destruct(){
  33. self::$count --;
  34. }
  35. }
  36. /*
  37. *1. 静态方法不能访问类中的普通属性(此时还不存在对象)
  38. *2. 普通成员是对象级别的存在,只能通过对象访问 默认提供 $this指针
  39. *3. 静态成员是类级别的存在 随着类的加载而加载 没有提供$this指针,优先与对象存在 只能用类引用self::访问
  40. *4.
  41. //加载类文件 类的自动加载器
  42. require 'autoload.php';
  43. $user1= new User('古力拉扎',25000);
  44. $user2= new User('刘亦菲',30000);
  45. $user3= new User('史蒂夫',30000);
  46. unset($user3); //自动调用__destruct
  47. echo User::getCount();
  48. echo User::$name;
  49. //使用对象引用也可以访问静态成员 不推荐
  50. //echo $user1->getCount();
  51. echo $user2->getCount();
  52. echo User::$nation;
  53. * **/
批改老师:PHPzPHPz

批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学