1.Ruby类的定义
类是对具有同样属性和同样行为的对象的抽象,Ruby中类的声明使用class关键字。定义类的语法如下,
class ClassName
def method_name(variables)
#somecode
end
end
类的定义要在class…end之间
ClassName是类名,类名是个常量,必须以大写字母开始。
2.实例演示
class Person
def initialize(name,gender,age)
@name = name
@gender = gender
@age = age
end
def name
puts "Name is "+ @name
end
def gender
puts "Gender is "+ @gender
end
def age
puts "Age is "+ @age.to_s
end
end
me = Person.new("cai","male",23)
me.name
me.gender
me.age
可以使用Person.new方法来创建一个Person类的实例对象。如下所示
me = Person.new("cai","male",23)
Ruby中以@开头的变量是实例变量,他们从属于某一实例对象,并且只能在方法内部使用它。外部需要获知实例变量,只能通过调用方法。因此本实例定义了三个方法,分别是name,gender,age。其中to_s的作用是将数字转换为字符串。
initialize方法使对象变为“就绪”状态,initialize方法是一个特殊的方法,这个方法在构造实例对象时会被自动调用。
对实例进行初始化操作时,需要重定义initialize方法。类方法new的默认的行为就是对新生成的实例执行initialize方法,传给new方法的参数会被原封不动地传给initialize方法。另外,若带块调用时,该块会被传给initialize方法。因此,不必对new方法进行重定义。
3.运行结果
![](https://img-my.csdn.net/uploads/201304/15/1366008680_2425.jpg)