1. 云栖社区>
  2. PHP教程>
  3. 正文

对php面向对象接口的认识和理解

作者:用户 来源:互联网 时间:2017-12-01 19:53:53

接口

对php面向对象接口的认识和理解 - 摘要: 本文讲的是对php面向对象接口的认识和理解,我们知道php不支持多重继承,即class A extends B,C{}这种写法是错误的,那么想要实现多重继承怎么办呢。这是就要用接口(Interface)实现啦,接口还可以从其他接口继承,并且允许多重实现,看了下面这段脚本你就懂了:&l

我们知道php不支持多重继承,即
class A extends B,C{}这种写法是错误的,那么想要实现多重继承怎么办呢。这是就要用接口(Interface)
实现啦,接口还可以从其他接口继承,并且允许多重实现,看了下面这段脚本你就懂了:

<?phpinterface 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.子类在继承抽象类是,可以不实现其方法,而接口必须实现所有的方法。

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索接口 ,以便于您获取更多的相关知识。

弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率

40+云计算产品,6个月免费体验

现在注册,免费体验40+云产品,及域名优惠!

云服务器9.9元/月,大学必备
Kubernetes上基于Istio体验云原生应用实践 资料下载