`
biyeah
  • 浏览: 203338 次
  • 来自: ...
社区版块
存档分类
最新评论

[转帖]ruby 对象的特殊方法

    博客分类:
  • Ruby
 
阅读更多
[转帖]ruby 对象的特殊方法
原文:http://fujinbing.iteye.com/blog/1125884


    特殊方法是指某实例所特有的方法。一个对象有哪些行为由对向所属的类决定,但是有时候,一些特殊的对象有何其他对象不一样的行为,在多数程序设计语言中,例如C++和Java,我们必须定义一个新类,但在Ruby中,我们可以定义只从属于某个特定对象的方法,这种方法我们成为特殊方法(Singleton Method)。

class SingletonTest 
def info 
puts "This is This is SingletonTest method" 
end 
end 

obj1 = SingletonTest.new 
obj2 = SingletonTest.new 

def obj2.info 
puts "This is obj2" 
end 

obj1.info 
obj2.info 


执行结果为:
This is This is SingletonTest method
This is obj2


    有时候,我们需要给一个对象定义一系列的特殊方法,如果按照前面的方法,那么只能一个一个定义:

def obj2.singleton_method1 
end 

def obj2.singleton_method2 
end 

def obj2.singleton_method3 
end 
…… 
def obj2.singleton_methodn 
end 


这样做非常繁复麻烦,而且无法给出一个统一的概念模型,因此Ruby提供了另外一种方法,
class << obj
……
end

obj是一个具体的对象实例,class << 代表它的特殊类。

class SingletonTest 
def meth1 
puts "This is meth1" 
end 

def meth2 
puts "This is meth2" 
end 
end 

obj1 = SingletonTest.new 
obj2 = SingletonTest.new 

class << obj2 
def meth1 
puts "This is obj2's meth1" 
end 

def meth2 
puts "This is obj2's meth2" 
end 
end 

obj1.meth1 
obj1.meth2 
obj2.meth1 
obj2.meth2 


执行结果为:
This is meth1
This is meth2
This is obj2's meth1
This is obj2's meth2
分享到:
评论

相关推荐

    论坛转帖工具.rar

    标题中的“论坛转帖工具.rar”表明这是一个用于在论坛之间转移帖子的软件工具,通常用于帮助用户方便地将一个论坛的帖子内容复制到另一个论坛,可能是为了分享信息、讨论或保存重要的帖子。这类工具可能包括自动抓取...

    UBB论坛转帖圣手.exe

    UBB论坛转帖圣手.exeUBB论坛转帖圣手.exe

    贴吧转帖工具

    【贴吧转帖工具】是一种专为百度贴吧用户设计的便捷工具,主要用于提高用户在贴吧中的互动效率。通过这款工具,用户可以实现一键转帖和一键8经验签到的功能,极大地简化了传统操作流程,节省了用户的时间,提升了...

    转帖经典---JAVA设计模式

    2. 工厂方法模式(Factory Method):定义一个用于创建对象的接口,让子类决定实例化哪一个类。 3. 抽象工厂模式(Abstract Factory):提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们的具体类。 4. ...

    编辑人员转帖去水印工具

    本篇文章将详细探讨“编辑人员转帖去水印工具”,并介绍如何使用名为Teorex Inpaint的1.0.0.2版本的软件来实现这一目标。 首先,我们要理解什么是水印。水印通常是指在图像或视频中添加的半透明标记,它可以是文字...

    1分钟内抓到WPA握手包的方法!转帖的!!!

    WPA 握手包捕获方法 在WiFi网络安全测试中,捕获 WPA 握手包是一个非常重要的步骤。下面将详细介绍如何在 1 分钟内捕获 WPA 握手包的方法。 一、操作环境 在 Ubuntu 操作系统中,使用 aircrack-ng 工具包和 TP-...

    [转帖]世界编程大赛第一名写的程序

    这样的程序不仅体现了编写者的创新思维和技术实力,也常常成为学习者研究和模仿的对象。 在IT行业,特别是软件开发和算法设计领域,掌握高级编程技能是至关重要的。编程大赛通常由诸如ACM(美国计算机协会)、...

    discuz X2转帖工具、采集工具

    X2转帖工具、采集工具”是针对这个平台设计的辅助软件,主要用于帮助论坛管理员或用户批量发布帖子和采集内容,提高论坛内容更新的效率。 一、批量发帖功能 1. 自动化发布:此工具可以自动化地创建和发布帖子,...

    转帖图片提取工具 v1.0.zip

    转帖图片提取工具可以对论坛...转帖图片提取工具使用方法: 将IP138上处理过的东西复制到上方的编辑框内,点击只要图片,下面的编辑框就出现结果,点击 复制结果 就可以把内容复制到剪切板中 转帖图片提取工具截图

    Html2UBBMaxcj_Softii论坛专用转帖工具

    - **本站站内插件安装方法.txt**:这个文件可能提供了关于如何在Softii论坛上安装和使用此工具的详细步骤。 - **人人软件站.url**:这可能是一个快捷方式,指向一个网站,用户可以通过这个链接获取更多的软件信息...

    转帖工具ConvertX fordiscuz7.1/7.2 修改增强版.rar

    1.修改自Convert X转帖工具 2.新增批量替换关键词(原来是单个词语替换,可以利用这个功能删除一些网站的防转帖代码) 3.批量随机新增文字(新增内容可自定义,从而实现伪原创) 4.cookie记录替换和新增关键词(避免每次...

    转帖工具插件 for PHPwind 7.5 正式版.rar

    "转帖工具插件 for PHPwind 7.5 正式版" 是专门为 PHPwind 7.5 版本设计的一个功能插件,旨在提供便捷的帖子转移功能,帮助管理员或者用户将内容从一个地方轻松移动到另一个地方,而无需直接编辑论坛的原始文件。...

    一键转帖功能插件 for 帝国CMS 6.0 GBK utf8 V1.0.rar

    《一键转帖功能插件 for 帝国CMS 6.0 GBK utf8 V1.0》 本文将深入探讨“一键转帖功能插件”在帝国CMS 6.0系统中的应用与实现,该插件适用于GBK及UTF-8编码环境,旨在提升网站内容的分享与传播效率。我们将从安装...

    遍历网页的一段Delphi代码(转帖)

    调用 `Get_All` 方法获取文档中的所有元素,并通过 `Get_Length` 方法获取这些元素的数量。 #### 2.4 遍历元素 ```delphi for tmpLoop := 0 to hlen - 1 do begin ``` 通过循环遍历所有元素,进一步处理每个元素。 ...

    轻松转帖之突破网页复制限制宣贯.pdf

    【解除右键限制方法】 1. **查看源文件**:使用IE浏览器,可以通过菜单栏的“查看 - 源文件”选项,打开网页的HTML源代码,手动查找并复制所需内容。 2. **使用Word**:复制网页URL,然后在Word中打开,Word会下载...

    一键转帖功能插件 for 帝国CMS v1.0.rar

    "一键转帖功能插件 for 帝国CMS v1.0.rar" 是一个专为帝国CMS设计的扩展工具,其主要目标是简化用户在网站上分享内容的过程,提高用户体验。这个插件允许用户轻松地将网站上的文章或信息复制并转发到其他平台,如...

    超级无敌转帖手

    看到论坛里帖子由精美的图片想转过来,或者批量提取地址时很好用

    高三政治教学总结(转帖)教学工作总结.doc

    高三政治教学总结(转帖)教学工作总结.doc

    【转帖】4412嵌入式开发板学习笔记(一)

    标题《【转帖】4412嵌入式开发板学习笔记(一)》和描述《新手在进行开发学习前,建议先看01-迅为电子开发板入门视频。对开发板和开发环境有一定的了解后,不要盲目接线开机。以下是个人的一点经验,和大家分享一下...

Global site tag (gtag.js) - Google Analytics