深圳市金黑网络技术有限公司始终坚持以用户需求为导向,提供安全、稳定、高效的产品和服务!
签到 · 搜索导航 · 服务热线 · 微信/手机:17817817816

深圳网站建设

查看: 345|回复: 0

php面向对象之static静态的

[复制链接]

UID
1
贡献
844
金币
1540
主题
520
在线时间
333 小时
注册时间
2022-1-15
最后登录
2024-11-12
QQ
发表于 2022-12-6 14:18:49 | 345 | 0 | 显示全部楼层 |阅读模式
php面向对象之static静态的

  • static修饰的属性叫静态属性、static修饰的方法叫静态方法
  • 静态成员加载类的时候分配空间,程序执行完毕后销毁
  • 静态成员在内存中就一份。
  • 调用语法    类名::属性    类名::方法名()


代码如下:
  1. <?php
  2. class Person {
  3.         public static $add='北京';    // 修饰符之间没有顺序
  4.         static public function show() {
  5.                 echo '这是一个静态的方法<br>';
  6.         }
  7. }
  8. echo Person::$add,'<br>';                //北京
  9. Person::show();                                        //这是一个静态的方法
复制代码
练习:统计在线人数

  1. <?php
  2. class Student {
  3.         private static $num=0;        //静态变量,在内存中就一份
  4.         public function __construct() {
  5.                 self::$num++;      //self表示所在类的类名
  6.         }
  7.         public function __destruct() {
  8.                 self::$num--;
  9.         }
  10.         public function show() {
  11.                 echo '总人数是:'.self::$num,'<br>';
  12.         }
  13. }
  14. //测试
  15. $stu1=new Student;
  16. $stu2=new Student;
  17. $stu3=new Student;
  18. $stu2->show();                        //总人数是:3
  19. unset($stu2);
  20. $stu3->show();                        //总人数是:2
复制代码
注意:self表示所在类的类名,使用self降低耦合性

楼主热帖

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

快速回复 返回顶部 返回列表