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();

}

?>
PHP中的多态性是什么

多态性来自两个希腊词。
多(Poly意思是许多)和类型(morph意思是类型)。
多态性是PHP面向对象的编程(OOP)特征之一。
通常,多态性意味着能够有许多形式。
如果我们换句话说,"多态描述了面向对象编程中的模式,其中类在共享公共接口时具有不同的功能。
"。

有两种类型的多态性;他们是:

  • 编译时间(函数重载)
  • 运行时间(函数覆盖)

但PHP"不支持"编译时间多态性,这意味着功能重载(overloading)和运算符重载。

运行时多态性

运行时多态性意味着在运行时(不编译时间)进行决定,或者我们可以说我们可以为超级类的多个子类型实现,函数重载是运行时多态性的示例。
我将首先描述函数重载。
当我们在具有相同签名的派生类中创建函数时(换句话说,函数具有与其父类别中的函数相同的名称,参数数量和相同类型的参数),则它被称为覆盖方法。

日期:2020-04-18 01:09:16 来源:oir作者:oir