|
楼主 |
发表于 2016-10-17 00:33:32
|
显示全部楼层
这一章介绍,ruby类的各种简化写法.
在java为成员变量添加set/get方法有快捷键,在ruby有属性存储器,例:
class Test
attr_accessor :name,:age #可读,可写
attr_reader :phone #只可读,不可写
attr_writer :id #只可写,不可读
end
test = Test.new
test.name = "Ruby"
test.age = 18
puts "我的名字叫:#{@test.name},今年#{@test.age}岁."
相当于一个set/get的简化.
class Test
attr_accessor :name,:age
def initialize name,age
@name = name
@age = age
end
end
当这样定义ruby类的时候,你想要声明实例对象必须给定初始化值,例如:
test1 = Test.new("Ruby",18)
否者,
test2 = Test.new #报错
这就类似于Java类的只有 有参构造函数 ,没有定义 无参构造函数 一样.
在ruby中有简化办法,如下:
class Test
attr_accessor :name,:age
def initialize name = nil, age = nil
@name = name
@age = age
end
end
这样
test1 = Test.new("Ruby",18)
test2 = Test.new
两种写法都不会报错了! |
|