PHP5面向对象高级特性:static变量与final、abstract类
需积分: 9 192 浏览量
更新于2024-07-23
收藏 850KB DOC 举报
在PHP5面向对象编程的第三章中,主要探讨了高级类特性,包括静态变量和方法。这部分内容深入讲解了以下几个关键知识点:
1. **静态变量和方法**:
- **静态属性**:`static`关键字用于定义与类关联而不是与类的特定实例相关的变量,称为类属性。它们是所有类实例共享的,即在内存中只有一份。例如,计数器`$count`在例3-1-1.php中作为私有静态属性,确保外部无法直接访问,但所有实例共享同一计数。
2. **静态属性的使用**:
- 静态属性可以直接通过类名(如`ClassName::count`)进行访问,无需实例化对象。
- 静态属性只能访问静态属性,不能访问非静态属性。
3. **静态方法**:
- 类中的静态方法同样与类相关,而不是特定实例。可以通过类名调用,例如`ClassName::myStaticMethod()`。
- 可以直接调用静态方法,它们不能访问非静态属性或方法,除非通过类名间接引用。
4. **设计模式中的单件模式**:
- 单例模式在此部分可能被提及,它是一种常用的软件设计模式,确保系统中只有一个实例,并提供全局访问点。
5. **final类和final方法**:
- `final`关键字表示类不能被继承,方法不能被覆盖。这对于防止代码意外修改或重复具有重要意义。
6. **常量**:
- PHP5中提供了常量的支持,用于存储不变的值,如`define`语句。
7. **抽象类和抽象方法**:
- `abstract`关键字用于声明抽象类,其中包含抽象方法,这些方法没有实现,需要子类来提供具体实现。
- 抽象类可以互相继承,但不能实例化。
- PHP5.2.0之后引入了静态抽象方法,既不能被实例化,也不能在子类中被覆盖。
8. **模板模式(Template Method Design Pattern)**:
- 模板模式定义了一个算法的框架,但具体步骤由子类实现。这里可能会提供一个实际的示例来展示这种模式的应用。
9. **self和this关键字**:
- `self`关键字用于访问当前类的静态成员,而`this`关键字用于访问当前对象的属性和方法,但静态方法中不能使用`this`。
总结来说,本章重点在于理解并掌握PHP5中静态特性、类的封闭性和继承限制,以及如何通过抽象类和模式设计实现代码复用和模块化。理解这些概念有助于开发更灵活、易于维护的面向对象PHP应用程序。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2019-03-15 上传
2019-03-15 上传
2019-03-15 上传
2019-03-15 上传
134 浏览量
2008-10-22 上传

唯有满月微光
- 粉丝: 1
最新资源
- Win7系统下的一键式笔记本显示器关闭解决方案
- 免费替代Visio的流程图软件:DiaPortable
- Polymer 2.0封装的LineUp.js交互式数据可视化库
- Kotlin编写的Linux Shell工具Kash:强大而优雅的命令行体验
- 开源海军贸易模拟《OpenPatrician》重现中世纪北海繁荣
- Oracle 11g 32位客户端安装与链接指南
- 创造js实现的色彩识别小游戏「看你有多色」
- 构建Mortal Kombat Toasty展示组件:Stencil技术揭秘
- 仿驱动之家触屏版手机wap硬件网站模板源码
- babel-plugin-inferno:JSX转InfernoJS vNode插件指南
- 软件开发中编码规范的重要性与命名原则
- 免费进销存软件的两个月试用体验
- 树莓派从A到Z的Linux开发完全指南
- 晚霞天空盒资源下载 - 美丽实用的360度全景贴图
- perfandpubtools:MATLAB性能分析与发布工具集
- WPF圆饼图控件源代码分享:轻量级实现