php通过interface实现简单多态
所谓多态,指的是不同的对象,执行相同的方法,而又取得不同的结果。PHP同Java一样是单继承,一个子类只能entends一个父类,多态一般用implements一个接口来实现。
如下代码:有两个用户对象,student和teacher,两个对象都有name()和age()方法。
- /*
- * php实现多态的两种方式
- */
- //定义接口
- interface base{
- //获取name
- public function name();
- //获取age
- public function age();
- }
- //学生类
- class student implements base{
- public function name(){
- echo "获取学生姓名<br>";
- }
- public function age(){
- echo "获取学生年龄<br>";
- }
- }
- //老师类
- class teacher implements base{
- public function name(){
- echo "获取老师姓名<br>";
- }
- public function age(){
- echo "获取老师年龄<br>";
- }
- }
- //定义操作类
- class get{
- public function common_get_name($base){
- $base->name();
- }
- public function common_get_age($base){
- $base->age();
- }
- }
- //实例化操作类,相同的方法,传入不同的对象参数,取得不同的结果
- $get = new get();
- $get->common_get_name(new student());
- $get->common_get_name(new teacher());
- $get->common_get_age(new student());
- $get->common_get_age(new teacher());
运行结果如下:

浙公网安备 33010602011771号