设置首页
|
加入收藏
|
联系我们
首页
┊
新闻
┊
Linux知识
┊
数据库
┊
网络应用
┊
企业应用
┊
程序设计
┊
网站设计
┊
Linux发行版
┊
交流论坛
您的位置:
主页
>
程序设计
>
Ruby on Rails
>正文
Ruby语言快速入门之对象,方法和类-开发频道-ruby-
文章来源: 编辑: 发布时间:2008-03-21
在
Ruby
中,一切都是对象。对于那些喜欢使用高度面向对象的语言(例如Smalltalk,Eiffel或CLOS)的用户来说,这是非常受欢迎的。例如1,2,3或10.8等等都是对象,而不是如
Java
或C++中的原始类型;字符串是对象,类和方法也都是对象。例如,下面都是有效的Ruby代码(在Ruby中,注释行是以"#"符号界定的):
#对象-34的绝对值
-34.abs
#对一个浮点数进行四舍五入处理
10.8.round
#返回一个字符串对象的大写且逆转的副本
"This is Ruby".upcase.reverse
#返回数学sin方法的参数个数
Math.method(:sin).arity
图5.Ruby是全对象化的:在Ruby中,整数,浮点数,字符串,甚至类和方法都是对象。这里的代码展示了针对这些类型对象的方法调用。
在Ruby中,所有功能都是通过调用对象上的方法(或操作)实现的。事实上,Ruby中的方法调用就象其它
程序
语言中的函数或过程调用一样。
就象在所有面向对象程序语言中一样,对象是从类中创建的。Ruby库中提供了许多预构建的类。你可以修改这些类或构建你自己的类。Ruby中的类是使用"class"关键字定义的。类名开始是一个大写字母。类定义以"end"关键字结束。因此,一个Rectangle类的定义可能有如下形式:
class Rectangle
end
为了把方法添加到类,可以使用def关键字。方法的定义也应该以end关键字结束。跟随def关键字和方法名后面就是方法参数。把一个area方法添加到上面的Rectangle类的代码看上去如下所示:
class Rectangle
def area (hgt,wdth)
return hgt*wdth
end
end
对于那些熟悉其它程序语言的用户,他可能注意到一些差别。Ruby并不使用任何花括号来限定类或方法,也不使用分号或其它字符来表示程序语句行的结束。Ruby的目标,根据它的创建者说明,是简单、易用并使编码成为一件"趣事"。谁想记住所有的那些分号?没有意思!在Ruby中,只要你把语句放在一行上,不需要分号或其它代码行结束标记。顺便说一下,在area方法参数周围的括号是不必要的。在默认情况下,Ruby返回一个方法中最后的内容,因此return关键字也可以省略。因此,你可以建立如下简单编码的Rectangle类:
class Rectangle
def area hgt, wdth
hgt*wdth
end
end
尽管上面代码是有效的,但是小括号还是被推荐使用于方法参数表达的,这主要是为了实现较好的可读性。
共3页。
1
2
3
:
Tags:
开发
频道
方法
对象
语言
快速
入门
Ruby
end
Rectangle
输入您的搜索字词
提交搜索表单
Web
linux.jansfer.com
上一篇:
Ruby程序设计语言快速入门之安装Ruby-开发频道-Ruby-
下一篇:
Ruby程序设计语言快速入门之变量与赋值-开发频道-Ruby-
【返回顶部】
【打印】
【大】
【中】
【小】
【关闭】
我来说两句
用户名:
(
新注册
) 密码:
匿名评论 [
论坛讨论
]
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
相关文章
·
Ruby程序设计语言快速入门之变
·
Ruby程序快速入门之类变量和类
·
Ruby程序快速入门之方法存取控
·
Ruby程序快速入门之多继承-开
·
Ruby程序快速入门之数字、字符
·
Ruby程序快速入门之数据结构-
·
Ruby入门之代码块、迭代子和过
·
Ruby程序快速入门之输入输出和
·
Ruby程序快速入门之简单的例子
·
新兵战老将 Ruby能否挑动Java
热门文章
·
新兵战老将 Ruby能否挑动Java
·
Ruby程序快速入门之简单的例子
·
Ruby程序快速入门之输入输出和
·
Ruby入门之代码块、迭代子和过
·
Ruby程序快速入门之数据结构-
·
Ruby程序快速入门之数字、字符
·
Ruby程序快速入门之多继承-开
·
Ruby程序快速入门之方法存取控
·
Ruby程序快速入门之类变量和类
·
Ruby程序设计语言快速入门之变
版权所有 2005-2006
Linux集中营
闽ICP备07500055号