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