在Ruby中,可以通過使用attr_accessor
和attr_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方法,因此只能讀取其值,不能修改它。