=begin
在ruby裡,可以給具體的例項物件新增例項方法,這個方法只屬於這個例項
物件,我們把這樣的方法稱之為單例方法。
單例方法也叫作單件方法。定義單例方法,首先要生成乙個例項物件,其次,
要在方法名前加上物件名和乙個點號「.」。
在下面示例中,物件p1不可以laugh , laugh方法只屬於p2物件。
例項方法,屬於類的每個例項物件。單例方法只出現在單個例項物件中。用單
例方法可以極大地豐富多型性在ruby中的表現力。
=end
class person
def talk
puts "hi! "
end
end
p1=person.new
p2=person.new
p1.talk
p2.talk
def p2.talk #定義單例方法p2.talk
puts "here is p2. "
end
def p2.laugh #定義單例方法p2. laugh
puts "ha,ha,ha... "
end
p1.talk # hello!
p2.talk # here is p2.
p2.laugh # ha,ha,ha...
ruby的單例方法
begin 在ruby裡,可以給具體的例項物件新增例項方法,這個方法只屬於這個例項 物件,我們把這樣的方法稱之為單例方法。單例方法也叫作單件方法。定義單例方法,首先要生成乙個例項物件,其次,要在方法名前加上物件名和乙個點號 在下面示例中,物件p1不可以laugh laugh方法只屬於p2物件。例項方...
Ruby的單例方法的疑惑
class b class puts old endend endclass def hello puts new endend endb.hello 執行結果為new class b class puts old endend endclass def hello puts new endend ...
ruby中的單例模式
引入檔案singleton,引入模組singleton require singleton class singletontest attr accessor data include singleton enda singletontest.instance b singletontest.ins...