Pla*_*Ton 16 ruby abstract-class interface
我正试图绕过Ruby,而我正在努力的一件事是缺乏接口/抽象类支持.从谷歌搜索,我不断看到抽象类相关的Ruby问题的响应是"你在用Java思考.Ruby不会那样工作"
那么,没有接口/抽象类,如何在Ruby中工作呢?
例如,在Java中,我可能会创建一个抽象类"book",其子类为"novel","textbook"和"journal".我在"书"中提到了许多常见的功能,但我不希望它可以直接访问 - 一本书必须是小说,教科书或期刊.
在ruby中,我将如何写出这种功能?
Ram*_*Vel 19
我也是Ruby的首发.根据我的理解,红宝石中的抽象类更接近竞争对手.就是这样module.你不能创建任何模块实例,但你可以包含另一个类.因此,目标类将获得父级的全部功能
module Log
def write
//blah
end
end
class EventLog
include Log
def Prepare
end
end
Run Code Online (Sandbox Code Playgroud)
在像java/C#这样的静态类型语言中,Interfaces强制这些类在编译时拥有所有方法.由于Ruby是动态的,因此没有任何意义.
为了更清楚,请查看这些帖子为什么动态语言不需要接口..
干杯
| 归档时间: |
|
| 查看次数: |
6746 次 |
| 最近记录: |