Ruby/Методика самопознания: различия между версиями

Содержимое удалено Содержимое добавлено
Строка 391:
Как и прежде, мы создали класс <tt>Sample</tt>, но на этот раз не стали реализовывать конструктор <tt>.initialize</tt>, так как для работы с классом совсем не обязательно создавать его экземпляр (методом <tt>.new</tt>).
 
Пришло время рассмотреть методы получения и изменения значения переменной класса. В примере мы изменим значение переменной класса (методом <tt>class_variable_set</tt>) и сразу же получим ее новое значение (методом <tt>class_variable_get</tt>). Основная проблема заключается в том, что оба метода являются [[w:Инкапсуляция|закрытыми]]. Поэтому изих вызов возможен только в контексте метода класса. Для решения этой проблемы мы создадим метод <tt>Sample.change</tt>, который будет менять переменную и возвращать ее новое значение в качестве своего результата.
 
<source lang=ruby>class Sample