面向对象编程与统一建模语言(UML)入门
1. 面向对象编程(OOP)在PHP中的发展
PHP对对象的支持可以追溯到PHP 3,但最初并没有打算支持类或对象的概念,只是作为一种事后的补充,为关联数组提供“语法糖”。早期的PHP对象支持主要是为了方便地对数据和函数进行分组,但只包含了传统面向对象编程语言的一小部分特性。
随着PHP的流行,面向对象编程方法在大型应用中越来越常见。然而,PHP早期的内部实现存在局限性,例如:
- 缺乏真正的封装 :无法将成员变量或方法指定为私有或受保护的,所有成员都是公共的,这可能会带来问题。
- 不支持抽象接口或方法 :方法和成员变量不能声明为静态的,也没有析构函数。这些概念对于有其他面向对象编程语言背景的人来说并不陌生,而PHP对象模型中缺乏这些特性会使从Java等支持这些特性的语言过渡到PHP变得困难。
从PHP 5开始,PHP的面向对象支持有了重大改进,PHP 6在此基础上进一步增强。以下是PHP 5和6中对象模型的一些新特性及其好处:
| 新特性 | 好处 |
| — | — |
| 私有、受保护的成员变量和方法 | 现在可以在PHP中实现真正的封装和数据保护。 |
| 改进的解引用支持 | 现在可以使用如 $obj->getSomething()->doSomething() 这样的语句。 |
| 静态成员变量和方法 | 可以清晰地识别可以静态调用的方法。类级常量有助于控制全局命名空间的污染。 |
| 统一的构造函数 | 所有类的构造函数现在都称
超级会员免费看
订阅专栏 解锁全文
78

被折叠的 条评论
为什么被折叠?



