php面向对象为什么要用接口、抽象类,他们又各自扮演什么角色?详细一点介绍下吧! 谢谢啦 10

 我来答
帐号已注销
2013-06-05 · TA获得超过3954个赞
知道大有可为答主
回答量:1636
采纳率:77%
帮助的人:1228万
展开全部
没学过PHP我就把握关于面向对象的理解给你说说吧:

接口是定义了一个对象可以接受的消息,也就是定义了可以对一个对象进行的操作,外界通过这个接口获取对象的服务。一个对象 == 接 口 + 实现。 在这里接口就相当于界面的角色,外界可以依赖这个界面。 封装就是确定一个对象的接口和实现,将接口呈现出来,隐藏实现的过程。

抽象类是一种特殊的类,它的成员函数(或者方法)可不提供定义而且不能定义它的对像。通常抽象类里都定义了一组接口,这组接口没有提供实现,而由抽象类派生的非抽象子类则提供了这个接口的实现。 从上面可以看出抽象类相当于一个接口,因为它提供了一组接口,而非抽象派生类相当于实现,这里就产生了一种较高层次的封装。 抽象类提供了一个接口,而这个抽象类的不同派生类提供了不同的实现,从而是实现和接口分离,实现了更高层次的封装。

一些好的面向对象程序的代码都尽可能使用抽象类,就是居于上面的原因。
rghanbing
2013-06-05 · TA获得超过498个赞
知道小有建树答主
回答量:701
采纳率:0%
帮助的人:650万
展开全部
抽象类:
就是用来继承的,本身无法实例化,是用来定规范的,子类必须把父类的抽象方法全部实现
接口:
可以理解为更严格的抽象类
一是像抽象类一样,可以定规范,因为接口有个特点,实现接口就必须把里面的方法全部实现,这样项目经理就可以在接口里面定一个规范,要实现哪些函数
二是php是单继承,一个类只能有一个父类,为了解决这个问题就出现了接口,一个类可以实现多个接口
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-06-05
展开全部
这个得从软件的要求来解释,软件一般要求具有 健壮性/扩展性/维护性.
接口和抽象类就能实现.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
乾隆再别
2013-06-05
知道答主
回答量:5
采纳率:0%
帮助的人:4703
展开全部
他们主要讲究一方便
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式