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.