PHP5面向对象高级特性:static变量与final、abstract类
需积分: 9 92 浏览量
更新于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 上传
129 浏览量
2008-10-22 上传
171 浏览量
2009-03-19 上传
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
唯有满月微光
- 粉丝: 1
最新资源
- 掌握muduo网络库:Linux多线程服务端编程指南
- Android音频转码技术:G711/PCM到AAC的源代码分享
- Z-BlogPHP米粒导航网主题模板安装与操作教程
- ZxtLicen v1.0.1:简化海泰UKEY初始化工具
- 美赛特奖论文合集:2007-2013年间MCM与ICM精选
- 掌握多层Docker应用部署的JavaScript实践
- Python项目Cse210-FinalProject入门指南
- Beehive更新:减少依赖、PEP8兼容性与代码覆盖率提升
- File Checksum Calculator v1.1:高效的文件校验工具
- DBUtilLiubaobao:高效数据库操作工具类
- Android自定义View系列(七):仿制ActionBar控件实现指南
- 超声图像去噪新突破:SRAD技术去斑点噪声
- 微信个人名片卡片在线生成源码免费分享
- OpenCL实现的Jacobi迭代Laplace方程解决方案
- Ubuntu下的Minishell简易版介绍与使用
- Scratch编程教学新突破:校本教材正式发布