在Ruby中,封装数据的方法通常是使用实例变量和访问器方法(getter和setter方法)来控制对数据的访问和修改。通过定义类的实例变量和对应的访问器方法,可以保护数据的完整性并提供对外的接口,使得外部代码可以通过访问器方法来获取或修改数据,而无法直接访问实例变量。这样可以确保数据的安全性和可维护性。以下是一个简单的示例:
class Person
def initialize(name, age)
@name = name
@age = age
end
def name
@name
end
def age
@age
end
def age=(new_age)
@age = new_age
end
end
person = Person.new("Alice", 30)
puts person.name #=> "Alice"
puts person.age #=> 30
person.age = 35
puts person.age #=> 35
在上面的示例中,通过定义name
和age
方法来获取实例变量@name
和@age
的值,以及通过定义age=
方法来设置@age
的值,实现了数据的封装。外部代码可以通过调用这些方法来访问和修改数据,而无法直接访问实例变量。