PHP多态性示例
<?php class Shap { function draw(){} } class Circle extends Shap { function draw() { print "绘制圆</br>"; } } class Triangle extends Shap { function draw() { print "绘制三角形</br>"; } } class Ellipse extends Shap { function draw() { print "绘制椭圆"; } } $Val=array(2); $Val[0]=new Circle(); $Val[1]=new Triangle(); $Val[2]=new Ellipse(); for($i=0;$i<3;$i++) { $Val[$i]->draw(); } ?>
多态性来自两个希腊词。
多(Poly意思是许多)和类型(morph意思是类型)。
多态性是PHP面向对象的编程(OOP)特征之一。
通常,多态性意味着能够有许多形式。
如果我们换句话说,"多态描述了面向对象编程中的模式,其中类在共享公共接口时具有不同的功能。
"。
有两种类型的多态性;他们是:
- 编译时间(函数重载)
- 运行时间(函数覆盖)
但PHP"不支持"编译时间多态性,这意味着功能重载(overloading)和运算符重载。
运行时多态性
运行时多态性意味着在运行时(不编译时间)进行决定,或者我们可以说我们可以为超级类的多个子类型实现,函数重载是运行时多态性的示例。
我将首先描述函数重载。
当我们在具有相同签名的派生类中创建函数时(换句话说,函数具有与其父类别中的函数相同的名称,参数数量和相同类型的参数),则它被称为覆盖方法。
日期:2020-04-18 01:09:16 来源:oir作者:oir