红宝石 – Mixins和or traits的一些很好的例子是什么?
发布时间:2020-12-16 20:37:40 所属栏目:百科 来源:网络整理
导读:我正在阅读Ruby,并了解了它的混合模式,但不能想到很多有用的mixin功能(因为我不太习惯这样想).所以我想知道什么是有用的Mixin功能的好例子? 谢谢 编辑:有点背景.我来自C和其他对象语言,但我的怀疑是Ruby说它不是继承mixins,但我不断将mixins视为多重继承,
我正在阅读Ruby,并了解了它的混合模式,但不能想到很多有用的mixin功能(因为我不太习惯这样想).所以我想知道什么是有用的Mixin功能的好例子?
谢谢 编辑:有点背景.我来自C和其他对象语言,但我的怀疑是Ruby说它不是继承mixins,但我不断将mixins视为多重继承,所以我害怕我正在尝试将它们分类到我的舒适区域,而不是真正的grok什么mixin是. 解决方法
通常的例子,我认为是持久性
module Persistence def load sFileName puts "load code to read #{sFileName} contents into my_data" end def save sFileName puts "Uber code to persist #{@my_data} to #{sFileName}" end end class BrandNewClass include Persistence attr :my_data def data=(someData) @my_data = someData end end b = BrandNewClass.new b.data = "My pwd" b.save "MyFile.secret" b.load "MyFile.secret" 想象一下,这个模块是由Ruby忍者编写的,它将你的类的状态保持在一个文件中. 所以你正在做的是包括方法表的方法为你的类(不是字面上正确但关闭). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |