为了账号安全,请及时绑定邮箱和手机立即绑定

{OOP}什么时候使用抽象类?什么时候使用接口?

{OOP}什么时候使用抽象类?什么时候使用接口?

心有猛虎_细嗅蔷薇 2017-02-14 15:46:39
查看完整描述

4 回答

已采纳
?
慕的地3800369

TA贡献15条经验 获得超7个赞

以我的理解,抽象类是用来规范类及方法的,当使用抽象类的时候,就要想好如何规范,以后再写这个类时,只能按照之前定义的规范去写.对于接口,接口是用来给别人调用的,我自己一般很少写接口自己调用.接口的内容尽量简单清晰,便于别人使用.如果你想规范一个类或者一种类时,你就可以使用抽象类,以后再开发该类时,就按照以前的规范写,当然,也是方便又别人接手你的代码时,有一个规范.如果你做的是让别人调用的话,就写接口吧.以上是我作为PHPer的见解,若有不当之处,请多多指教...

查看完整回答
反对 回复 2017-02-14
  • 心有猛虎_细嗅蔷薇
    心有猛虎_细嗅蔷薇
    “如果必须从多个来源继承行为,就使用接口;如果知道所有类都会共享一个公共的行为实现,就使用抽象类。PHP类可以继承多个接口,但不能扩展多个抽象类。”感谢仁兄给出了工作学习中的一些经验与见解~
?
夏Jue

TA贡献6条经验 获得超5个赞

抽象类倒是还没用过,不过接口是用的真不少,例如我写了个类 叫做(DownloadUtils)用来下载东西,我要在下载完成后通知程序:"哎,帅哥,下载好了!",然后我就去执行更多代码,那我就可以定义出一个"接口" 叫做 (DownloadListen)出来,接口中定义一些通知的函数,比如当下载完成后我要执行"onSuccess()",或者当下载失败时执行"onFailure()"或出现未知错误时执行"onError()",然后呢,我只要在new出DownloadUtils类的时候通过构造函数等将实现了DownloadListen接口,并重写好了这些on什么on什么函数的对象传送进去,在下载东西的时候我就可以随心所欲地执行我要的代码了!其实学编程没必要特意地去学习一些很抽象的东西,用多了写多了自然就会有体会了!哦,原来当初烧脑筋的东西是这么回事啊,都是不知不觉中明白理解的.个人见解!不喜勿p.hhhhh!

查看完整回答
1 反对 回复 2017-02-14
  • 心有猛虎_细嗅蔷薇
    心有猛虎_细嗅蔷薇
    “中国的应试教育使人形成了一种思维定式:每道题都有标准答案,每篇文章都有中心思想。我们从小到大受着这样的训练长大。”接触到编程,也便产生一种先天的冲动:我得明白这是怎么回事。正如仁兄所说,这种抽象的东西并不是让你‘懂’,而是去学会感受。不知不觉中明白理解的~ 非常感谢
  • 4 回答
  • 0 关注
  • 2084 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信