8.6. Weryfikacja i modyfikowanie wartości atrybutów
Problem
W kodzie aplikacji modyfikowane są zmienne instancyjne obiektów, a my chcemy narzucić pewien rodzaj kontroli na przypisywane im wartości. W szczególności chcemy mieć możliwość weryfikowania tych wartości przed ich przypisaniem, bądź też otrzymywać aktualne wartości w postaci wygodnej dla użytkownika, być może różnej od tej, w jakiej fizycznie są przechowywane.
Rozwiązanie
Aby kontrolować proces przypisywania wartości danej zmiennej instancyjnej, należy stworzyć specyficzną metodę dostępową (setter) dla tej zmiennej — dla zmiennej instancyjnej @
<nazwa>
metoda ta powinna mieć nazwę <nazwa>
=
. Wykonanie instrukcji
obiekt.zmienna = 10
spowoduje bowiem wywołanie metody obiekt#zmienna= ...
Get Ruby. Receptury now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.