php通过interface实现简单多态

所谓多态,指的是不同的对象,执行相同的方法,而又取得不同的结果。PHPJava一样是单继承,一个子类只能entends一个父类,多态一般用implements一个接口来实现。

如下代码:有两个用户对象,student和teacher,两个对象都有name()和age()方法。

 

[php] view plain copy
 
  1. /* 
  2.  * php实现多态的两种方式 
  3. */  
  4.   
  5. //定义接口  
  6. interface base{  
  7.   
  8.    //获取name  
  9.    public function name();  
  10.      
  11.    //获取age  
  12.    public function age();  
  13. }  
  14.   
  15. //学生类  
  16. class student implements base{  
  17.   
  18.    public function name(){  
  19.       echo "获取学生姓名<br>";  
  20.    }  
  21.      
  22.    public function age(){  
  23.       echo "获取学生年龄<br>";  
  24.    }  
  25. }  
  26.   
  27. //老师类  
  28. class teacher implements base{  
  29.   
  30.    public function name(){  
  31.       echo "获取老师姓名<br>";  
  32.    }     
  33.      
  34.    public function age(){  
  35.       echo "获取老师年龄<br>";  
  36.    }  
  37. }  
  38.   
  39. //定义操作类  
  40. class get{  
  41.   
  42.    public function common_get_name($base){  
  43.       $base->name();  
  44.    }  
  45.      
  46.    public function common_get_age($base){  
  47.       $base->age();  
  48.    }  
  49. }  
  50.   
  51. //实例化操作类,相同的方法,传入不同的对象参数,取得不同的结果  
  52. $get = new get();  
  53. $get->common_get_name(new student());  
  54. $get->common_get_name(new teacher());  
  55. $get->common_get_age(new student());  
  56. $get->common_get_age(new teacher());  

运行结果如下:

posted @ 2016-12-22 17:11  天涯海角路  阅读(282)  评论(0)    收藏  举报