温馨提示×

Ruby类定义如何设置属性访问权限

小樊
81
2024-11-06 06:58:02
栏目: 编程语言

在Ruby中,可以通过使用attr_accessorattr_reader方法来设置属性的访问权限。attr_accessor会生成getter和setter方法,而attr_reader只会生成getter方法。这样,你可以控制对类属性的访问。

以下是一个示例,展示了如何在Ruby类中设置属性访问权限:

class MyClass
  # 使用 attr_accessor 生成 getter 和 setter 方法
  attr_accessor :my_attribute

  # 使用 attr_reader 生成 getter 方法
  attr_reader :another_attribute

  def initialize(my_attribute, another_attribute)
    @my_attribute = my_attribute
    @another_attribute = another_attribute
  end
end

# 创建一个 MyClass 实例
my_instance = MyClass.new("Hello", "World")

# 通过 getter 方法访问属性
puts my_instance.my_attribute # 输出 "Hello"
puts my_instance.another_attribute # 输出 "World"

# 通过 setter 方法修改属性
my_instance.my_attribute = "New Value"
puts my_instance.my_attribute # 输出 "New Value"

在这个例子中,my_attribute具有访问权限,可以通过getter和setter方法进行访问和修改。而another_attribute只有getter方法,因此只能读取其值,不能修改它。

0