“Ruby中不必要的接口和抽象类” – 有人可以解释吗?
发布时间:2020-12-16 20:41:50 所属栏目:百科 来源:网络整理
导读:我试图围绕Ruby包围我的头,我正在努力的一件事是缺少接口/抽象类支持.从谷歌搜索,我不断看到抽象类相关的Ruby问题的答案是“你在Java中思考,Ruby不工作” 那么,Ruby中如何在没有接口/抽象类的情况下工作? 例如,在Java中,我可以创建一个抽象类“book”,子类
我试图围绕Ruby包围我的头,我正在努力的一件事是缺少接口/抽象类支持.从谷歌搜索,我不断看到抽象类相关的Ruby问题的答案是“你在Java中思考,Ruby不工作”
那么,Ruby中如何在没有接口/抽象类的情况下工作? 例如,在Java中,我可以创建一个抽象类“book”,子类“小说”,“教科书”和“日志”.有很多共同的功能,我扔在“书”,但我不希望它可以直接访问 – 一本书必须是小说,教科书或杂志. 在红宝石中,我该如何写出这种功能? 解决方法
我也是红宝石启动器.根据我的理解,红宝石中的抽象类有更密切的对手.那就是模块.您不能创建任何模块实例,但您可以包含另一个类.所以一个目标类将获得父类的全部功能
module Log def write //blah end end class EventLog include Log def Prepare end end 在静态类型的语言(如java / C#)中,Interfaces执行这些类以使编译时具有所有的方法.由于Ruby是动态的,所以没有意义. 为了更清楚,请检查这些帖子为什么动态语言不需要接口.. > why-dont-we-require-interfaces-in-dynamic-languages (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |