php mysql 郑海生,13.1.2 类的继承 - 13.1.5 面向对象的多态 - 《零基础学PHP+MySQL (零基础学编程)》 - D云...

13.1.5 面向对象的多态

多态是对象的一种能力,它可以在运行时根据传递的对象参数,决定调用哪个对象的方法。例如,如果读者有一个"figure"的类,它定义了一个draw的方法。并且派生了circle和"rectangle"类,在派生类中读者覆盖了draw方法,读者可能还有一个函数,它希望使用一个参数x,并且可以调用"$x->draw()"。如果读者有多态性,调用哪个draw方法依赖于读者传递给这个函数的对象类型。

多态性在像PHP这样的解释语言中是非常容易和自然的,所以PHP当然支持多态性,如代码13.6所示。

代码13.6 多态在PHP中的应用程序:13-6.php

<?php

//**

//名称:13-6.php

//功能:多态在php中的应用

//**

function niceDrawing($x){//定义方法

/假设这是Board类的一个方法/

$x->draw();

}

$obj=new Circle(3,187);//新建一个方法

$obj2=new Rectangle(4,5);//新建第2个方法

$board->niceDrawing($obj);//新建第2个方法

/将调用Circle的draw方法/

$board->niceDrawing($obj2);

?>

注意 PHP是支持多态性的。PHP也是一种解释语言,所以非常容易和自然地支持多态性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值