php面向对象static表示当前对象所属的类

[复制链接]
查看1563 | 回复0 | 2020-11-3 16:16 | 显示全部楼层 |阅读模式
php面向对象static表示当前对象所属的类
  1. <?php
  2. class Person {
  3.         public static $type='人类';
  4.         public function show1() {
  5.                 //var_dump($this);                //object(Student)#1 (0) { }
  6.                 //echo self::$type,'<br>';        //人类
  7.                 echo static::$type,'<br>';                        //学生   延时绑定
  8.         }
  9. }
  10. class Student extends Person {
  11.         public static $type='学生';
  12.         public function show2() {
  13.                 //var_dump($this);                //object(Student)#1 (0) { }
  14.                 //echo self::$type,'<br>';        //学生
  15.                 echo static::$type,'<br>';                        //学生
  16.         }
  17. }
  18. //测试
  19. $obj=new Student();
  20. $obj->show1();
  21. $obj->show2();
复制代码
小结:
1、static在内存中就一份,在类加载的时候分配空间
2、如果有多个修饰符,修饰符之间是没有顺序的
3、self表示所在类的类名
4、static表示当前对象所属的类
5、static有两个作用,第一表示静态的,第二表示类名
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

UID
1
贡献
387
丢币
38902
主题
4607
回帖
116
注册时间
2018-9-25
最后登录
2024-4-16