Programmation Ruby/Accesseurs
Les accesseurs
modifierUn accesseur est une méthode d'accès à un attribut.
Il existe deux type d'accesseurs :
- accesseurs en lecture (
Get
dans certains langages) - accesseurs en écriture (
Set
dans certains langages)
En Ruby c'est une méthode qui porte le nom de l'attribut en lecture et le nom de l'attribut suivit de '=' en écriture tel que :
Class TestClass(val)
def initialize (val = "test")
@val= val
end
#Ecriture
def val=(val)
@val = val
end
#Lecture
def val
@val
end
end
titi = TestClass::new
p titi.val # => "test"
titi.val = "test2"
p titi.val # => "test2"
Ruby propose des macro-constructions d'accesseurs pour simplifier l'écriture des classes :
attr_reader :v => def v; @v; end
attr_writer :v => def v=(value); @v=value; end
attr_accessor :v => attr_reader :v; attr_writer :v
attr_accessor :v, :w => attr_accessor :v; attr_accessor :w