首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >OO和PHP,使用抽象和接口

OO和PHP,使用抽象和接口
EN

Stack Overflow用户
提问于 2014-11-13 19:25:07
回答 1查看 60关注 0票数 0

似乎我遗漏了一些东西。我不明白它们有什么用处?

含义:类之间的简单继承,能不能给出相同的结果?!

更准确地说:

据我所知,Interface是一个..函数名称列表。仅此而已。

那么,附加值是什么呢?

至于Abstract,它似乎是一个简单的类,根本不能实例化,它的所有用途都是强制子类继承一些方法。

再说一遍--附加值是什么?

这两种行为都可以使用常规类来实现。或者只是避免它(当涉及到Interface对象时)

另外,请不要指给我看副本,我都读过了。他们解释了什么是抽象和接口,但没有回答我的问题。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2014-11-13 19:28:17

抽象是继承

鸭子是一种动物

接口是一个契约

一只鸭子实现游泳,一只鸭子实现飞行

鸭子必须有在Animal中抽象的任何方法,以及在Swim和Fly中列出的所有方法

  • Update

据我所知,这是一种比继承模型更容易抽象的方法。机器和动物摘要都可以有自己的抽象方法,这些抽象方法详细描述了一些运动元素。

知道自己可以飞行或游泳的特定子类可以自己实现接口。

飞机,鸭子也有很多飞行的需求..合适的起飞/着陆区域,避免碰撞的方法,如何确定高度,如何确定与其他同类物体的接近程度(鸭子喜欢接近,飞机不是)。

在这种情况下,机器和动物都是东西,所以也许我们只是让东西继承了一个具有飞行和游泳方法的抽象--但最终你可能会支持一些奇怪的东西,比如$theFish->walk()

相反,我们可以保持继承模型的整洁,并根据需要实现一个接口,该接口对对象一无所知,但可以指导对象如何定义自己以达到良好的目的(在本例中为飞行/游泳)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26907797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档