Getter & Setters

Getters and setters (también conocidos como accesadores y mutadores) son métodos que públicos de una clase que nos permiten acceder o manipular cierta información.

Para entender esto de mejor forma, podemos ver el siguiente código

En esta clase, podemos observar lo siguiente:

El método constructo “initialize”, en el cual asignamos un valor a nombre y apellido.
Los métodos “getters” nombre y apellido, que son los métodos utilizados para obtener los valores de nombre y apellido.
Los métodos “setters” nombre=(value) y apellido=(value) que son los métodos encargados de recibir un valor y asignar este nuevo valor a la variable correspondiente.

Y lo podemos llamar y cambiar el nombre la siguiente manera

Ahora que ya entendemos como declarar y llamar getters & setters, podemos saber que existe una manera de crear cada uno de una forma más eficiente, esto es con attr_reader y attr_writer, en donde indicamos el atributo que deseamos leer y escribir.

Y al igual que la vez pasada, podemos editar el nombre de la misma manera

Como podemos ver, nos hemos ahorrado bastantes líneas de código, pero utilizar estos momentos es útil cuando queremos sólo una acción, es decir, queremos que el atributo sea sólo de lectura o sólo de escritura, pero si queremos que sea de lectura y escritura, como es el caso del ejemplo, tenemos una forma aún más eficiente de hacer, y es a través de attr_accessor.

Y al igual que las veces anteriores, podemos editar el nombre de la misma manera