Ruby类的instance属性

来源:互联网 发布:jsp页面查询数据库 编辑:程序博客网 时间:2024/06/05 18:52

Ruby实现类的instance属性有两种方法:

方法一: 

class Person
 def name
  @name
 end
 
 def name= (name)
  @name = name
 end
 
 def initialize(name)
  @name = name
 end
end

nh = Person.new('Ninghuan')
puts nh.name
nh.name = '宁欢'
puts nh.name

 

输出:
Ninghuan
宁欢

方法二:

class Person
 attr_reader :name
 attr_writer :name
 
 def initialize(name)
  @name = name
 end
end

nh = Person.new('Ninghuan')
puts nh.name
nh.name = '宁欢'
puts nh.name

输出是一样的

 

第一种方法比较直观,第而中比较简单,建议使用第二种~~