Mètode d'actualització
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
[modifica]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