对php面向对象接口的认识和理解
2012-03-30 00:00
387 查看
我们知道php不支持多重继承,即
class A extends B,C{}这种写法是错误的,那么想要实现多重继承怎么办呢?这是就要用接口(Interface)
实现啦,接口还可以从其他接口继承,并且允许多重实现,看了下面这段脚本你就懂了:
运行结果如下:
我是男生
my age is 20
fruit不好吃
最后说说抽象类和接口的区别,主要从下面两个方面来区别:
1.抽象类可能有一些具体方法的定义,但是接口只能定义各个方法界面
2.子类在继承抽象类是,可以不实现其方法,而接口必须实现所有的方法。
class A extends B,C{}这种写法是错误的,那么想要实现多重继承怎么办呢?这是就要用接口(Interface)
实现啦,接口还可以从其他接口继承,并且允许多重实现,看了下面这段脚本你就懂了:
<?php interface Human{ function Age($a); //年龄 } interface People{ function Gender($g); //性别 function Eat($food); } class Chinese implements Human,People{ public $gender = 'male'; function Age($a){ echo "my age is {$a}<br>"; } function Gender($g){ if ($this->gender == $g){ echo "我是男生<br>"; }else{ echo "我是女生<br>"; } } function Eat($food){ if ($food != 'bread'){ echo "{$food}不好吃<br>"; }else{ echo "我最爱吃面包<br>"; } } } $xiaoming = new Chinese(); $xiaoming->Gender('male'); $xiaoming->Age(20); $xiaoming->Eat('fruit'); ?>
运行结果如下:
我是男生
my age is 20
fruit不好吃
最后说说抽象类和接口的区别,主要从下面两个方面来区别:
1.抽象类可能有一些具体方法的定义,但是接口只能定义各个方法界面
2.子类在继承抽象类是,可以不实现其方法,而接口必须实现所有的方法。
相关文章推荐
- java面向对象思想的认识与理解
- PHP面向对象之旅:接口的继承
- php学习笔记 面向对象中[接口]与[多态性]的应用
- PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程
- PHP面向对象之旅:一个接口实例,很好的例子
- php学习笔记---面向对象中[接口]与[多态性]的应用
- 用比较的方法认识PHP的面向对象
- PHP面向对象深入理解之四(设计模式-单例模式)
- PHP面向对象深入理解之四(设计模式-观察者模式)
- PHP 面向对对象基础(接口,类)
- PHP面向对象程序设计之抽象类和接口
- 对php面向对象中魔术方法的认识
- php面向对象认识(一)
- php部分---面向对象静态、抽象类、oop接口、加载类、魔术方法、关键字。
- php面向对象认识(二)
- 关于php面向对象动态绑定和静态绑定的理解
- PHP面向对象学习之三:抽象类和接口类的实际作用
- PHP面向对象程序设计之接口用法
- PHP面向对象之旅:接口的实现