【发布时间】:2015-06-20 21:32:15
【问题描述】:
仅仅因为一组对象共享几个公共方法而使用接口有什么好处吗?
例如,我有GameObject、GameComponent 和GameLevel。每个都有函数onUpdate() 和onDraw()。
我应该创建一个包含onUpdate() 和onDraw() 的IGameEntity 接口并让每个对象都实现它吗?我不打算存储任何类型的IGameEntity 列表或我只需要访问这两个函数的任何类似情况,那么这种抽象级别是否具有建设性?
【问题讨论】:
-
我认为 YAGNI 适用于此。如果您确实最终想要使用它,您可以随时定义此接口。
-
非常正确,对函数声明的改动很小。感谢您的回复!
-
@aceads0529 接口是类履行的一种契约,因此如果您希望类必须实现某些功能,您应该使用接口来确保这是一种良好的编程习惯
-
在我看来,当你不需要多态行为时使用接口会阻碍程序的理解。如果我看到一个界面,我希望它会有用处。如果没有,它看起来就像杂乱无章。
标签: oop interface abstraction