博客列表 >PHP对象进阶笔记

PHP对象进阶笔记

的博客
的博客原创
2019年03月20日 22:21:56847浏览

1. 类属性与类方法(静态成员) 

  类属性: 静态属性 

 类方法: 静态方法 

 静态成员属于类,而不属于对象 

 静态成员不需要通过对象访问,所以不必实例化 

 使用static关键字定义 

 类外使用类名访问,类内使用self访问 

 类外部, 类属性不能用实例访问,但类方法可以 

 

 2. 类常量 

  类常量也类属性一样,也是属于类的, 必须用类访问,不能用对象访问 

 类常量与类属性的区别是: 类常量不允许修改,而类属性可以修改 

 类常量与普通常量的命名规则是一致的, 推荐使用大写字母或大写字母+下划线 

 类常量不需要设置访问限制符,默认行为与public是一样的 

 

 3. 属性重载 

   重载: 动态的创建属性和方法 

  当访问未定义或不可见的属性/方法时, 重载方法会自动调用 

  "当访问未定义或不可见", 统称为: "不可访问" 

  PHP中的重载,是通过"魔术方法"实现 


  "魔术方法"是特指客户端不能访问,而只能是系统根据一定条件自动调用 

 

  所有重载方法必须声明为: public 

  __get($name): 当获取未定义可不见属性时触发 

  __set($name, $value) :当给未定义可不见属性赋值时触发 

  __isset($name): 当检测未定义可不见属性时触发 

  __unset($name): 当注销未定义可不见属性时触发 

 

 4. 方法重载 

  __call(): 访问未定义的对象方法时会自动调用它 

 __callStatic(): 访问未定义的静态类方法时会自动调用它 

 

 5. 方法重载实例演示 

  类方法的跨类调用的实现 

 链式调用的原理分析 

 


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议