Blogger Information
Blog 28
fans 0
comment 0
visits 15751
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
0812静态成员方法
︷肉園耔︷
Original
584 people have browsed it
  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. * **/
Correcting teacher:PHPzPHPz

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