Ruby是真正的面向对象语言,你所操作的一切东西都是对象,它们返回的操作结果也是对象。
在Ruby里,实例由类的构造函数创建。标准的构造函数是new。
song1 = Song.new("Ruby Tuesday") song2 = Song.new("Enveloped in Python") # and so on
虽然这些实例由同一个类创建,但它们各自有着唯一的特征。
首先,它们有唯一的对象标识(简单理解为对象ID)。
其次,你能定义实例变量,并且变量的值在每个实例中是唯一的。
这些实例变量保存着对象的引用。例如,每首歌可能会有一个实例变量保存歌曲的标题。
在类里面,你可以定义实例方法。方法是一个功能块,它能被类内部或外部(取决于方法的访问约束)调用。
实例方法能够访问实例变量和获取对象的引用。
方法通过向对象发送消息来执行。信息包含方法名和方法所需的参数。
当一个对象收到消息时,它查找自己的类中相应的方法。如果找到,则调用这个方法,如果没找到。。。
这些方法的业务逻辑听起来比较复杂,但其实使用起来很自然。让我们先看一些方法的调用。
"gin joint".length -> 9 "Rick".index("c")-> 2 -1942.abs-> 1942 sam.play(song)-> "duh dum, da dum de dum ..."
这里Ruby和大部分语言的不同之处值得我们注意。在java中,要得到一个数字的绝对值需要调用另一个方法并把数字传进去。
你可能会这样写:
number = Math.abs(number) // Java code
在Ruby中,数字内置有转换成绝对值的能力。你只要发送消息abs给数字,它就会自动执行了。
number = number.abs
当学习一门新的语言时,许多人都不会喜欢阅读那些枯燥的语法,那么就让我们直接进入正题吧。
我们先从一个简单的Ruby程序开始,我们将写一个方法,它返回个人的问候语。然后我们多次调用这个方法。
def say_goodnight(name) result = "Good night, " + name return result end # Time for bed... puts say_goodnight("JohnBoy") puts say_goodnight("MaryEllen")
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索对象
, 实例
, 变量
, 方法
, ruby
一个
ruby基础教程、ruby基础教程 pdf、ruby基础教程第4版pdf、ruby基础、ruby基础教程第四版,以便于您获取更多的相关知识。