多态的应用
多态是除封装和继承之外的另一个面向对象的三大特性之一,我个人看来PHP 中虽然可
以实现多态,但和C++还有Java 这些面向对象的语言相比,多态性并不是那么突出,因为PHP
本身就是一种弱类型的语言,不存在父类对象转化为子类对象或者是子类对象转化为父类对
象的问题,所以多态的应用并不是那么的明显;所谓多态性是指一段程序能够处理多种类型
对象的能力,比如说在公司上班,每个月财务发放工资,同一个发工资的方法,在公司内不
同的员工或是不同职位的员工,都是通过这个方法发放的,但是所发的工资都是不相同的。
所以同一个发工资的方法就出现了多种形态。对于面向对象的程序来说,多态就是把子类对
象赋值给父类引用,然后调用父类的方法,去执行子类覆盖父类的那个方法,但在PHP 里是
弱类型的,对象引用都是一样的不分父类引用,还是子类引用。
我们现在来看一个例子,首先还是要使用多态就要有父类对象和子类对象的关系。做一
个形状的接口或是抽象类做为父类,里面有两个抽象方法,一个求周长的方法,另一个是求
面积的方法;这接口的子类是多种不同的形状,每个形状又都有周长和面积,又因为父类是
一个接口,所以子类里面就必须要实现父类的这两个周长和面积的抽象方法,这样做的目的
是每种不同形状的子类都遵守父类接口的规范,都要有求周长和求面积的方法。
代码片段
复制代码 代码如下:
<?
//定义了一个形状的接口,里面有两个抽象方法让子类去实现
interface Shape{
function area();
function perimeter();
}
//定义了一个矩形子类实现了形状接口中的周长和面积
class Rect implements Shape{
private $width;
private $height;
function __construct($width, $height){
$this->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()."<br>";
echo $shape->perimeter()."<br>";
//把子类圆形对象赋给形状的一个引用
$shape=new Circular(10);
echo $shape->area()."<br>";
echo $shape->perimeter()."<br>";
?>
上例执行结果:
执行结果
矩形的面积是:50
矩形的周长是:30
圆形的面积是:314
圆形的周长是:62.8
通过上例我们看到,把矩形对象和圆形对象分别赋给了变量$shape,调用$shape 引用中
的面积和周长的方法,出现了不同的结果,这就是一种多态的应用,其实在我们PHP 这种弱
类形的面向对象的语言里面,多态的特性并不是特别的明显,其实就是对象类型变量的变项
应用。
相关推荐:
seo需要什么人员,seo需要什么技能 ,画大学ai
SEO搜外:全球搜索引擎优化的秘密武器,如何选择网站建设类型呢
如何用AI改文章,让写作更高效、精准,提升内容质量
seo软文用什么论坛,seo软文是什么意思 ,爱字幕的AI变脸不见了
SEO获取流量的必杀技:如何通过优化轻松提升网站排名,德州全网营销推广价格
SEO查:如何通过精准优化让网站流量飞速增长,吉林推广营销怎么样
SEO手法如何通过精准优化提升网站排名,获取海量流量,网站建设协议流程是什么
seo简报什么意思,seo工作汇报 ,万花筒 ai
ChatGPT登录503错误?轻松解决,快速恢复畅享智能体验!,ai怎么加植物材质效果
AI免费写文章生成器高效写作新革命
怎么让AI写文章,轻松实现内容创作的智能化
SEO赚钱:如何通过SEO技能在网络上实现财富自由,网站怎么建设推广平台
SEO在广告领域的深度解析:如何利用SEO提升广告效果,网文写作ai工具
SEO项目指的是什么,seo项目指的是什么意思 ,写个ai
seo经验是什么,seo进阶 ,ai矿机
颠覆写作方式:免费的AI续写软件助你轻松创作
怎样利用AI写文章,轻松提升写作效率
SEO北京:数字时代,企业成功的关键,湖南网站建设湖南岚鸿
ChatGPT怎么打不开了?解决办法,轻松恢复畅通无阻!,ai订酒店ai对话
ChatGPT打不开了吗?如何快速解决常见问题,恢复顺畅体验!,ai13212511845
360AI写作怎样?助力创作的新风尚,ai到访
ChatGPT登录界面都不显示了?可能是这些原因导致的!,上海小学ai智能课
专业SEO方案助力企业网站流量暴增,精准引流不再是难题,网站建设合同4篇
SEO优化是做什么的?让你的网站流量飙升的秘密武器,乳腺癌ai作用机理
怎么用AI生成一篇文章?高效创作指南全揭秘!
ChatGPTCanvex打不开?详细分析及解决方法助你顺利使用,ai2.5d网格线去除
AI优化文章:如何利用人工智能提升写作效率和质量
ChatGPT为什么打不开?背后原因与解决方案,慧ai写作
SEO化学物质:如何在化工行业提升搜索引擎排名和品牌曝光,rack ai
seo需要买什么,seo需要考虑什么 ,ai做表头
仿写AI:智能时代的创作革命,洛江区移动房网站推广
优化收费,助力企业提升效益,实现共赢,宜州餐饮网站建设
AI工具汇总网站,让科技为您的工作加速
SEO应该如何提升网站流量与排名?揭秘成功的SEO策略,肺炎疫苗推广营销
SEO需要:如何提升网站排名,打造高效营销利器,seo怎么推广关键词
目前国内最好的AI人工智能软件:未来新篇章
SEO收费如何选择合适的SEO服务,提升网站排名并增加曝光度,做网站优化哪家实惠
seo竞价做的什么工作,seo 竞价 ,office智能ai
360ai答题-赋能教育,开启智能学习新纪元,ai 果汁
AI免费生成文章让创作变得轻松自如
ChatGPT:智能对话开创新时代,ai做渐变直线
2025年SEO最新技术:让你的网站脱颖而出!,ai少女特色
AI写作免费一键生成5000字:高效创作的革命性工具
AI免费生成文章的软件:轻松创作的秘密武器
文章续写AI:提升写作效率,创意无限
SEO占位:如何在竞争激烈的市场中占得先机?,梁平区省心全网营销推广
seo进阶买什么书运营,seo入门难吗 ,没有ai软件怎么打开ai图片
SEO妍:搜索引擎优化的艺术,轻松打造网络营销新未来,辽宁网站建设贵不贵
SEO是如何推动企业增长的关键力量,深圳罗湖网站建设设计
AI的两个主要发展阶段:从起步到突破,如何重塑未来,wps ai写作去哪里