当前位置: 首页 > 图文教程 > 脚本技术 > Ruby > ruby 单态方法 分析

Ruby
print不自动换行,puts会自动换行
windows和linux下Ruby的下载与安装
Ruby入门点滴-Ruby的安装
Ruby入门介绍
什么是ruby和Ruby概述
RUBY文档中心-学习开始
ruby 简单例子
Ruby 字符串处理
ruby 正则表达式 教程
ruby 数组使用教程
ruby 一些简单的例子
ruby 流程控制 方法
ruby 迭代器使用方法
ruby 面向对象思维 概念
rudy 方法 分析
分析 rudy 类
rudy 继承 概念
rudy 重载方法 详解
剖析 rudy 访问控制
ruby 单态方法 分析

Ruby 中的 ruby 单态方法 分析


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 63 ::
收藏到网摘: n/a

实体的行为取决于其类,但很多时候我们知道一个特定的实体需要特定的行为.在很多语言里,我们必须陷入另外再定义一个类的麻烦里,即使它只是用来接着实体化一次.在Ruby里,我们可以赋予任何对象属于其自身的方法.
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方法,因而他们有不同的行为.一个仅属于某个对象的方法叫做单态方法.
单态方法常常用于图形用户界面(GUI)的元素的设计,在那里当不同的按钮被压下时将会激发不同的事件.
单态方法并非Ruby的专利,它也出现在CLOS,Dylan等语言中.同时,有些语言,比如,Self和NewtonScript仅有单态方法.他们有时被称作基于范例(prototype-based)语言.