Ruby里getter和setter的写法
来源:互联网 发布:数控加工中心电脑编程 编辑:程序博客网 时间:2024/06/11 16:22
ruby里的实例变量用一个@符号做前缀。但是不能直接访问,例如:
class Person
def initialize(name, age)
@name = name
@age= age
end
end
def initialize(name, age)
@name = name
@age= age
end
end
p1=Person.new("Tom",23)
puts p1.name #这一行会报undefined method `name'的错误
下面的代码是ruby里一个标准的属性访问器,它类似于getter和setter。有一点特别,就是属性名+等于号 来定义一个setter。
class Person
def initialize(name, age)
@name = name
@age= age
end
def name
@name
end
def age
@age
end
def age=(value)
@age= value
end
end
def initialize(name, age)
@name = name
@age= age
end
def name
@name
end
def age
@age
end
def age=(value)
@age= value
end
end
p1=Person.new("Tom",23)
puts p1.name #Tom
p1.age = 25
puts p1.age #25
ruby还提供一种便捷的写法:
class Person
def initialize(name, age)
@name = name
@age= age
end
attr_reader :name, :age
attr_writer :age
end
def initialize(name, age)
@name = name
@age= age
end
attr_reader :name, :age
attr_writer :age
end
- Ruby里getter和setter的写法
- ios中setter和getter的写法
- setter和getter的一般写法
- 对比Php和Ruby的getter/setter实现方式
- lombok的@Getter和@Setter
- JS的getter和setter
- jQuery的getter和setter
- OC-007.类里数据的封装,setter和getter方法
- Socket类的getter和setter方法
- Struts2的getter()和setter()方法
- Objective-C的setter和getter
- Socket类的getter和setter方法
- Objective-C的setter和getter
- Objective-C的setter和getter
- Objective-C的setter和getter
- 关于JAVA的getter和setter问题
- OC的setter和getter笔记
- Objective-C的setter和getter
- Asp.net(c#)实现多线程断点续传
- Const用法小结
- Windows与VMware下Linux的文件共享问题以及解决办法
- ComponentArt_for_Aspnet1.1超酷控件
- 那些比真还要假,比假还要真的事情
- Ruby里getter和setter的写法
- ComponentArt_for_Aspnet2.0超酷控件
- 整理了一些ASP初学者常用的代码
- 页面的优化(.aspx)
- 香港各大学研究生申请入口
- 振作起来,学点东西
- 什么是JNDI
- __cdecl __fastcall与 __stdcall
- 买了UBUNTU的T恤