Ruby module和class的理解分析

来源:互联网 发布:淘宝开店一件代发流程 编辑:程序博客网 时间:2024/05/18 00:01
一个class就是一系列方法的集合,这些方法将操作对象的状态(即对象的实例变量)module.rb:    require './project'    #require porject.rb    #Class类是Module的子类,类是一种特殊形式的模块,我们使用模块的的主要目的是用来组织代码,模块化代码    #    module FirstModule    def say    puts "Hello"    end    end    class ModuleTest    include FirstModule    #module没有实例,我们使用时把module混合到类中来使用,成为类的一部分(可用作多态)    end    test=ModuleTest.new    test.say    class Manager    include Project    #包含Project模块    end    test=Manager.new    test.add("jack")    test.add("crystall")    test.add("liusihao")    puts test.members[0]    puts test.members    #使用require或load时,请求加载的内容放到引号里,而inclue不是用引号,这是因为require或load使用字符串做为参数,而include使用常量形式的模块名,require和load使用字符串变量也可以.    #    module Human    class Boy    def say    puts "cool"    end    end    end    test = Human::Boy.new    test.say    #module也可以包含类,但调用时需要这样使用 模块名::类名.newproject.rb:    #我们可以把模块放到一个单独的文件里,然后使用时进行加载    module Project    attr :members,true    def initialize    @members=Array.new    end    def add(obj)    @members.push(obj)    end    def remove    @members.pop    end

原创粉丝点击