在Ruby裏,可以給具體的實例對象添加實例方法,這個方法只屬於這個實例對象,我們把這樣的方法稱之爲單例方法。
看程序 E6.4-1.rb :
- #E6.4-1.rb
- class Person
- def talk
- puts "Hi! "
- end
- end
- p1=Person.new
- p2=Person.new
- 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...
單例方法也叫作單件方法。定義單例方法,首先要生成一個實例對象,其次,要在方法名前加上對象名和一個點號“.”。
程序 E6.4-1.rb 中,對象p1不可以laugh , laugh方法只屬於p2對象。
實例方法,屬於類的每個實例對象。單例方法只出現在單個實例對象中。用單例方法可以極大地豐富多態性在 Ruby中的表現力。
完整閱讀,請看我寫的 Ruby語言中文教程all in one