似乎我遗漏了一些东西。我不明白它们有什么用处?
含义:类之间的简单继承,能不能给出相同的结果?!
更准确地说:
据我所知,Interface是一个..函数名称列表。仅此而已。
那么,附加值是什么呢?
至于Abstract,它似乎是一个简单的类,根本不能实例化,它的所有用途都是强制子类继承一些方法。
再说一遍--附加值是什么?
这两种行为都可以使用常规类来实现。或者只是避免它(当涉及到Interface对象时)
另外,请不要指给我看副本,我都读过了。他们解释了什么是抽象和接口,但没有回答我的问题。
谢谢。
发布于 2014-11-13 19:28:17
抽象是继承
鸭子是一种动物
接口是一个契约
一只鸭子实现游泳,一只鸭子实现飞行
鸭子必须有在Animal中抽象的任何方法,以及在Swim和Fly中列出的所有方法
据我所知,这是一种比继承模型更容易抽象的方法。机器和动物摘要都可以有自己的抽象方法,这些抽象方法详细描述了一些运动元素。
知道自己可以飞行或游泳的或特定子类可以自己实现接口。
飞机,鸭子也有很多飞行的需求..合适的起飞/着陆区域,避免碰撞的方法,如何确定高度,如何确定与其他同类物体的接近程度(鸭子喜欢接近,飞机不是)。
在这种情况下,机器和动物都是东西,所以也许我们只是让东西继承了一个具有飞行和游泳方法的抽象--但最终你可能会支持一些奇怪的东西,比如$theFish->walk()
相反,我们可以保持继承模型的整洁,并根据需要实现一个接口,该接口对对象一无所知,但可以指导对象如何定义自己以达到良好的目的(在本例中为飞行/游泳)。
https://stackoverflow.com/questions/26907797
复制相似问题