PHP类实例教程(二十四):PHP5类中的多态
来源:互联网 发布:illustration软件 编辑:程序博客网 时间:2024/05/21 02:22
多态这个概念,在Java中指的是变量可以指向的对象的类型,可是变量声明类型的子类。对象一旦创建,它的类型是不变的,多态的是变量。在PHP5中,变量的类型是不确定的,一个变量可以指向任何类型的数值、字符串、对象、资源等。我们无法说PHP5中多态的是变量。
我们只能说在PHP5中,多态应用在方法参数的类型提示位置。
一个类的任何子类对象都可以满足以当前类型作为类型提示的类型要求。
所有实现这个接口的类,都可以满足以接口类型作为类型提示的方法参数要求。
简单的说,一个类拥有其父类、和已实现接口的身份。
通过实现接口实现多态
使用接口与组合模拟多继承
通过组合模拟多重继承。
在PHP中不支持多重继承,如果我们向使用多个类的方法而实现代码重用有什么办法么?
那就是组合。在一个类中去将另外一个类设置成属性。
下面的例子,模拟了多重继承。
接口实例
写一个概念性的例子。 我们设计一个在线销售系统,用户部分设计如下: 将用户分为,NormalUser, VipUser, InnerUser 三种。要求根据用户的不同折扣计算用户购买产品的价格。并要求为以后扩展和维护预留空间。
- PHP类实例教程(二十四):PHP5类中的多态
- PHP类实例教程(三):PHP5类中的属性
- PHP类实例教程(四):PHP5类中的方法
- PHP类实例教程(十六):PHP5中的常量
- PHP类实例教程(十四):设计模式之单件模式
- PHP类实例教程(二十二):类型提示
- PHP类实例教程(二十):PHP类接口的实现接口
- PHP类实例教程(二十一):PHP类接口的继承
- PHP类实例教程(二十三):PHP抽象类实现接口
- PHP类实例教程(一):开始
- PHP类实例教程(六):构造函数
- PHP类实例教程(二):类和对象的基础部分
- PHP类实例教程(十):类的重写(override)
- PHP类实例教程(八):类的继承
- PHP类实例教程(十一):类中this关键字
- PHP类实例教程(十二):类中parent::关键字
- PHP类实例教程(十七):abstract类和abstract方法
- PHP类实例教程(五):对象的比较
- PHP类实例教程(二十三):PHP抽象类实现接口
- 清除WAS的僵死进程
- PHP类实例教程(二十二):类型提示
- 基础教程三(天空,地面和雾化处理)
- awk用法总结
- PHP类实例教程(二十四):PHP5类中的多态
- 基础教程四(帧监听器和非缓冲输入)
- 轻松架设个人服务器
- grep 笔记
- Flex学习(一)
- linux下samba共享打印机
- 经典名言
- 基础教程五(缓冲输入)
- 基础教程六(CEGUI和OGRE)