【发布时间】:2011-02-10 19:53:18
【问题描述】:
接口(或具有所有抽象方法的抽象类)是静态类型语言(如 C#、JAVA)中的强大武器。它允许以统一的方式使用不同的派生类型。设计模式鼓励我们尽可能多地使用界面。
但是,在动态类型语言中,不会在编译时检查所有对象的类型。他们不必实现以特定方式使用的接口。您只需要确保它们定义了一些方法(属性)。这使得接口不是必需的,或者至少不像静态语言那样有用。
典型的动态语言(例如 ruby)是否有接口?如果有,那么拥有它有什么好处?如果不是这样,那么我们是否会失去许多需要界面的精美设计模式?
谢谢。
【问题讨论】:
标签: interface dynamic-languages