在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
的值,實現了數據的封裝。外部代碼可以通過調用這些方法來訪問和修改數據,而無法直接訪問實例變量。