乙個class就是一系列方法的集合,這些方法將操作物件的狀態(即物件的例項變數)
module.rb:
require './project'
#require porject.rb
#class類是module的子類,類是一種特殊形式的模組,我們使用模組的的主要目的是用來組織**,模組化**
#module firstmodule
def say
puts "hello"
endend
class moduletest
include firstmodule
#module沒有例項,我們使用時把module混合到類中來使用,成為類的一部分(可用作多型)
endtest=moduletest.new
test.say
class manager
include project
#包含project模組
endtest=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"
endend
endtest = human::boy.new
test.say
#module也可以包含類,但呼叫時需要這樣使用 模組名::類名.new
project.rb:
#我們可以把模組放到乙個單獨的檔案裡,然後使用時進行載入
module project
attr :members,true
def initialize
@members=array.new
enddef add(obj)
@members.push(obj)
enddef remove
@members.pop
end
improt和include以及 class的關係
include與 import的區別 兩者的作用效果相同,只是後者不會引起交叉編譯,確保標頭檔案只會被匯入一次 import與 class區別 import會包含這個類的所有資訊,包括實體變數和方法,而 class只是告訴編譯器,其後面宣告的名稱是類的名稱,至於這些類是如何定義的,暫時不用考慮,後面...
類的封裝和訪問控制,struct和class的區別
1.includeusing namespace std 求圓的面積 封裝有兩層含義 把屬性和方法進行封裝,對屬性和方法進行訪問控制 class circle double getr double gets protected private 類物件做函式引數 類封裝了成員函式 可以呼叫類的成員函式...
typescript 文件閱讀筆記 Classes
extends super class animal move distanceinmeters number 0 m.class dogextends animal bark const dog newdog fjdsl dog.bark 預設情況下,所有屬性為public。class anima...