一個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的理解分析
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.