我们在生成新的对象时,一般会用到各个类的 new 方法。
ary = Array.new
p ary #=> []
当想知道某个对象属于哪个类时,使用 class 方法。
ary = []
str = "Hello world."
p ary.class #=> Array
p str.class #=> String
判断某个对象是否属于某个类时,我们可以使用 instance_of? 方法。
ary = []
str = "Hello world."
p ary.instance_of?(Array) #=> true
p str.instance_of?(String) #=> true
p ary.instance_of?(String) #=> false
p str.instance_of?(Array) #=> false
ruby 类的创建
类名的首字母必须大写。
initialize 方法
在 class 关键字中定义的方法为该类的实例方法。使用 new 方法生成新的对象时,initialize 方法会被调用,同时 new 方法的参数也会被原封不动地传给
initialize 方法。因此初始化对象时需要的处理一般都写在这个方法中。
class HelloWorld # class 关键字
def initialize(myname = "Ruby") # initialize 方法
@name = myname # 初始化实例变量
end
attr_accessor :name #set get 器
def hello # 实例方法
puts "Hello, world. I am #{@name}."
end
end
zhangfei = HelloWorld.new("zhangfei")
rubyTest = HelloWorld.new("rubyTest")
rubyTest .hello