多态确切的含义是:同一类的对象收到相同消息时,会得到不同的结果。而这个消息是不可预测的。多态,顾名思义,就是多种状态,也就是多种结果。
多态性是一种通过多种状态或阶段描述相同对象的编程方式。它的真正意义在于:实际开发中,只要关心一个接口或基类的编程,而不必关心一个对象所属于的具体类。
区别是否是多态的关键字在于看对象是否属于同一类型。如果把它们看做同一种类型,调用相同的函数,返回了不同的结果,那么它就是多态,否则,不能称为多态。
- 多态指同一类对象在运行时的具体化。
- PHP语言是弱类型的,实现多台更简单、更灵活。
- 类型转换不是多态。
- PHP中父类和子类看做‘继父’和‘继子’关系,它们存在继承关系,但不存在血缘关系。因此子类无法向上转型为父类,从而失去多态最典型的特征。
- 多态的本质就是 if …else,只不过实现的层级不同