php 多态实现案例

 1 <?php
 2 //多态案例
 3 //老师会画多边行,传一个图形让ta画就行了
 4 class Teacher{
 5 function drawPolygon(Polygon $polygon){ //弱语言,限定参数类型,php5.3+
 6 $polygon->draw(); 
 7 } 
 8 }
 9 //多边形,可定义为抽象类
10 class Polygon{
11 function draw(){
12 echo "draw a polygon";
13 }
14 }
15 //长方形
16 class ChangFangXing extends Polygon{
17 function draw(){
18 echo "draw a changfangxing";
19 }
20 }
21 //正方形
22 class ZhangFangXing extends Polygon{
23 function draw(){
24 echo "draw a zhangfangxing";
25 }
26 }
27 $teacher = new Teacher();
28 //画一个长方形
29 $teacher->drawPolygon(new ChangFangXing());//draw a changfangxing
30 echo "</br>";
31 //画一个正方方形
32 $teacher->drawPolygon(new ZhangFangXing());//draw a zhangfangxing
33 ?>

 

 

posted on 2017-06-20 22:35  advance2017  阅读(198)  评论(0)    收藏  举报

导航