多态除封装和继承之外的另一个面象对象的三大特性之一。

多态的作用简而言之就是为程序做括展

比如说在公司上班,每个月财务发放工资,同一个发工资的方法,在公司内不同的员工或是不同职位的员工,都是通过这个方法发放的,但是所发的工资都是不相同的。所以同一个发工资的方法就出现了多种形态。

<?php
/**
* 使用多态计算矩形的周长面积。以及圆形的面积跟周长。
*/
interface test{ #声明一个test接口
function zhouchang(); #声明一个zhouchang方法
function mianji();
}
# 矩形
class juxing implements test
{
private $width;
private $height; function __construct($width,$height)
{
$this->width = $width; #将输入的值(即"宽")赋值给$this->width
$this->height = $height;
}
function zhouchang(){
echo "矩形的周长:" .($this->width + $this->height)."<br />";
}
function mianji(){
echo "矩形的面积:".($this->width * $this->height)."<br />";
}
}
# 圆形
class yuanxing implements test #和矩形的一样的。不做讲解。
{
private $r; function __construct($r)
{
$this->r = $r;
}
function zhouchang(){
echo "圆形的周长:".(2 * 3.14 * $this->r)."<br />";
}
function mianji(){
echo "圆形的面积:".(3.14 * $this->r * $this->r."<br />");
}
}
$a = new juxing(1,2);
$a -> mianji();
$b = new yuanxing(1,2);
$b -> zhouchang(); ?>
输出效果如下所示:
矩形的面积:2
圆形的周长:6.28

最新文章

  1. BACKLOG
  2. Java中的equals和hashCode方法
  3. MVVM 在使用 ItemsSource 之前,项集合必须为空
  4. Python机器学习库scikit-learn实践
  5. SqlServer2008R2 修改表中列为自增列
  6. 转载:Unobtrusive JavaScript in ASP.NET MVC 3 隐式的脚本在MVC3
  7. 【Android】listview优化
  8. Webbrowser判断页面加载完成
  9. C# Chart 折线图 多条数据展示
  10. TensorFlow4Delphi
  11. iOS调试踩过的坑 以及instruments使用指南
  12. BBS
  13. Java NIO:IO与NIO的区别
  14. scrapy基础 之 静态网页实例
  15. C语言关于进制转换,补码, 整数的位操作
  16. Python 类的特殊成员介绍
  17. 将cmd中命令输出保存为TXT文本文件
  18. Maximum Average Subarray I LT643
  19. SWD Registers
  20. Ubuntu_搜狗输入法安装

热门文章

  1. jquery 获取 json文件内容后,将其内容显示到 下拉列表框中,再将下拉列表中的内容,显示到文本框中
  2. VIM for Python and Django Development
  3. Wget下载终极用法和15个详细的例子
  4. eclipse里怎么用命令行输入args
  5. JabRef 文献管理软件
  6. PetaPoco 使用总结(一)
  7. guid正则表达
  8. Linq使用Group By 1
  9. JSP指令
  10. array_map与array_column之间的关系