在module中使用extend

extend将module中实例方法添加到对象上变为对象的singleton_method方法单件方法。
在Ruby中一切都是对象,于是进行了一下测试
说明module也可以通过extend将一个模块中的实例方法变为自己的单件方法。因为module不能继承另一个module,所以这个单件方法不能像类一样可以传给子类

module M1
    def name
        puts 'M1'
    end
end

module M3
end

M3.extend(M1)
M3.name
module M4
     extend M1
end
M4.name
class C1
end
c1 = C1.new
c1.extend(M1)
p c1.singleton_methods;
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 对象模型 所有class定义之外的代码默认运行在顶级对象main中。 打开类 ruby的class更像是一个作用于...
    五月的约修亚阅读 3,582评论 0赞 4
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 35,302评论 18赞 399
  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 8,236评论 2赞 17
  • 你心灰意冷,却没有我手脚冰冷。 我每天期待你会多爱我一点,到后来才发现是我自己欲望太强
    甜甜的啊阅读 205评论 0赞 1
  • 情是身不由己 面对爱 都丢掉坚毅 曾经满心欢喜 坠进你的世界里 爱是相互给予 灌溉不力 则人我两弃 你总大智若愚 ...
    瑾言2464阅读 262评论 0赞 0

友情链接更多精彩内容