Ruby语言是一个比较新的编程语言。不过它独有的特性可以让我们很容易上手,灵活性也比较强,能够方便的帮助我们实现许多功能需求。下面我们就一起来看看Ruby单态方法的一些介绍。#t#
- ruby> class SingletonTest
- | def size
- | print "25\n"
- | end
- | end
- nil
- ruby> test1 = SingletonTest.new
- #<SingletonTest:0xbc468>
- ruby> test2 = SingletonTest.new
- #<SingletonTest:0xbae20>
- ruby> def test2.size
- | print "10\n"
- | end
- nil
- ruby> test1.size
- 25
- nil
- ruby> test2.size
- 10
- nil
在这个例子里,test1和test2属于相同的类,但test2已被赋给一个重载的size方法,因而他们有不同的行为.一个仅属于某个对象的方法叫做单态方法.
Ruby单态方法常常用于图形用户界面(GUI)的元素的设计,在那里当不同的按钮被压下时将会激发不同的事件.
Ruby单态方法并非Ruby的专利,它也出现在CLOS,Dylan等语言中.同时,有些语言,比如,Self和NewtonScript仅有单态方法.他们有时被称作基于范例(prototype-based)语言.