En la programació informàtica, un mètode d'actualització és un mètode usat per mantenir l'estat d'una classe.
El mètode d'actualització, de vegades anomenat setter, és usat majoritàriament en programació orientada a objectes, per mantenir el principi d'encapsulació. D'acord amb aquest principi, les variables que conformen una classe són fetes privades per ocultar-les i protegir-les d'altres codis, i només poden ser modificades per un mètode públic (el mètode d'actualització), que pren el nou valor desitjat com un paràmetre, opcionalment el valida i modifica la variable privada.
Sovint un setter ve aparellat amb un getter (també conegut com a "mètode d'accés"), que simplment retorna el valor de la variable per l'estat d'aquell moment.
El mètodes d'actualització poden ser usats en entorns no orientats a objectes. En tal cas, es passa una referència a la variable a modificar, contenint el nou valor. En aquest escenari, la dada no està protegida als canvis que se salten el mètode d'actualització, el rol de la qual es limita a validar l'entrada. És tasca del desenvolupador assegurar que la variable no és modificada directament.
Exemple
En Ruby, es pot definir un mètode d'accés i un mètode d'obtenció d'una variable de la següent manera:
class Exemple
# Obtenir la variable local "nom"
def nom
@nom
end
# Reescriure la variable local "nom"
def nom=(valor)
@nom = valor
end
end
Tot i això, existeixen dreceres per definir aquestes funcions per defecte directament.
- Si es vol una variable que només es pot llegir, s'utilitza
attr_reader
.
- Si es vol una variable que només es pot reescriure, s'utilitza
attr_writer
.
- Si es vol una variable que es pot llegir i reescriure, s'utilitza
attr_accessor
.
Per tant, una manera més curta de definir el codi anterior és:
class Exemple
attr_accessor :nom
end