在像Java这样的静态语言中,你需要接口,否则类型系统就不会让你做某些事情.但是在PHP和Python这样的动态语言中,你只需要利用duck-typing.
PHP支持接口.Ruby和Python没有它们.所以你可以在没有他们的情况下幸福地生活.
我一直在用PHP工作,并且从未真正使用定义接口的能力.当我需要一组类来实现某些通用接口时,我只是在文档中描述它.
所以你怎么看?如果不使用动态语言中的接口,你最好不是最好的吗?
我正试图绕过Ruby,而我正在努力的一件事是缺乏接口/抽象类支持.从谷歌搜索,我不断看到抽象类相关的Ruby问题的响应是"你在用Java思考.Ruby不会那样工作"
那么,没有接口/抽象类,如何在Ruby中工作呢?
例如,在Java中,我可能会创建一个抽象类"book",其子类为"novel","textbook"和"journal".我在"书"中提到了许多常见的功能,但我不希望它可以直接访问 - 一本书必须是小说,教科书或期刊.
在ruby中,我将如何写出这种功能?