multi.php 实例 6-4 类的多态

来源:互联网 发布:grav cms 编辑:程序博客网 时间:2024/06/06 01:52

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <title> multi.php </title>
  <meta charset="UTF-8">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
 </head>

 <body>
 <?php
 //首先创建了一个基类
class figure
{
  var $a;
  function draw($x,$y)
  {
   echo "横坐标是: $x,纵坐标是 $y <br>";
   //其他代码
 }
}

 /*以上创建了一个类,然后接下来创建一个子类circle,
 该类在继承父类的同时,同时对父类的函数 draw 进行了重载*/
class circle extends figure
 {
  function draw($x,$y)
  {
  echo "圆心是: $x,半径是: $y <br>";
  }
 }

 //另外还派生了另外一个类rectangle 类,如下所示。
class rectangle extends figure
{
 function draw($x,$y,$z)
 {
  echo "长方体的长: $x,宽: $y,高: $z <br>";
 }
}

 //最后还有一个派生类,该类没用重载父类的draw 函数。
class line extends figure
{
 function drawline($x,$y)
 {
  echo "画直线,起点是 $x,终点是 $y <br>";
 }
}

//创建figure 类实例
$a=new figure();
 $a->draw(10,100); //调用父类的draw 函数

//创建circle 类实例
$b=new circle();
 $b->draw(100,100); //调用circle 类重载后的draw 函数

//创建rectangle 类实例
$c=new rectangle ();
 $c->draw(100,100,1000); //调用rectangle 类重载后的draw 函数

//创建line 类实例
$d=new line ();
 $d->draw(10,100); //由于line 类没有重载,所以调用了父类的draw 函数

?>

 </body>
</html>


横坐标是: 10,纵坐标是 100
圆心是: 100,半径是: 100
长方体的长: 100,宽: 100,高: 1000
横坐标是: 10,纵坐标是 100


0 0
原创粉丝点击