Shu*_*huo 7 dynamic-languages interface
接口(或所有方法抽象的抽象类)是静态类型语言(如C#,JAVA)中的强大武器.它允许以统一的方式使用不同的派生类型.设计模式鼓励我们尽可能地使用界面.
但是,在动态类型语言中,在编译时不会检查所有对象的类型.它们不必实现以特定方式使用的接口.您只需要确保它们定义了一些方法(属性).这使得接口不是必需的,或者至少不像在静态语言中那样有用.
典型的动态语言(例如ruby)是否具有接口?如果确实如此,那么拥有它有什么好处?如果没有,那么我们是否会失去许多需要界面的漂亮设计模式?
谢谢.
小智 2
我想所有动态语言都没有单一的答案。例如,在Python中,没有接口,但有多重继承。使用类似接口的类仍然有用:
isinstance(x, SomeType),特别是当SomeType包含许多方法时。