一个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也可以包含类,但调用时需要这样使用 模块名::类名.new
project.rb:
#我们可以把模块放到一个单独的文件里,然后使用时进行加载
module Project
attr :members,true
def initialize
@members=Array.new
end
def add(obj)
@members.push(obj)
end
def remove
@members.pop
end
Ruby module和class的理解分析
最新推荐文章于 2023-08-25 12:34:29 发布