P" />
服务报价 | 域名主机 | 网络营销 | 软件工具| [加入收藏]
 热线电话: #
当前位置: 主页 > php教程 > php教程 >

php类中多态的应用代码

时间:2016-04-25 19:37来源: 作者: 点击:
php用来测定一个给定的对象是否来自指定的对象类,代码如下: //运行结果: //A type(); $what->alert(); } } $pc=new Mypc(); $zip=new Zip(); $mp3=new Mp3(); $pc->PcUsb($zip);//当插上的是U盘的时候 echo " "; $pc->P
php用来测定一个给定的对象是否来自指定的对象类,代码如下: //运行结果: //A type(); $what->alert(); } } $pc=new Mypc(); $zip=new Zip(); $mp3=new Mp3(); $pc->PcUsb($zip);//当插上的是U盘的时候 echo "
"; $pc->PcUsb($mp3);//当插上的是MP3的时候 ?> //运行结果: //2.0正在检查U盘驱动 //1.0正在检查Mp3驱动 对象引用都是一样的不分父类引用,还是子类引用,我们现在来看一个例子,首先还是要使用多态就要有父类对象和子类对象的关系,做一 个形状的接口或是抽象类做为父类,里面有两个抽象方法,一个求周长的方法,另一个是求 面积的方法,这接口的子类是多种不同的形状,每个形状又都有周长和面积,又因为父类是 一个接口,所以子类里面就必须要实现父类的这两个周长和面积的抽象方法,这样做的目的 是每种不同形状的子类都遵守父类接口的规范,都要有求周长和求面积的方法,代码如下: width=$width; $this->height=$height; } function area(){ return "矩形的面积是:".($this->width*$this->height); } function perimeter(){ return "矩形的周长是:".(2*($this->width+$this->height)); } } //定义了一个圆形子类实现了形状接口中的周长和面积 class Circular implements Shape{ private $radius; function __construct($radius){ $this->radius=$radius; } function area(){ return "圆形的面积是:".(3.14*$this->radius*$this->radius); } function perimeter(){ return "圆形的周长是:".(2*3.14*$this->radius); } } //把子类矩形对象赋给形状的一个引用 $shape=new Rect(5, 10); echo $shape->area()."
"; echo $shape->perimeter()."
"; //把子类圆形对象赋给形状的一个引用 $shape=new Circular(10); echo $shape->area()."
"; echo $shape->perimeter()."
"; ?> /* 上例执行结果: 执行结果 矩形的面积是:50 矩形的周长是:30 圆形的面积是:314 圆形的周长是:62.8 */ 通过上例我们看到,把矩形对象和圆形对象分别赋给了变量$shape,调用$shape 引用中 的面积和周长的方法,出现了不同的结果,这就是一种多态的应用,其实在我们PHP 这种弱 类形的面向对象的语言里面,多态的特性并不是特别的明显,其实就是对象类型变量的变项应用. (责任编辑:最模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容