Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад

Что такое геттеры и сеттеры в Ruby?

Вопрос проверяет понимание механизмов доступа к данным в объектно-ориентированном Ruby.

Короткий ответ

Геттеры используются для получения значений переменных объекта, а сеттеры — для их изменения. Их можно определить вручную, но в Ruby есть специальные методы attr_reader, attr_writer и attr_accessor, которые упрощают создание геттеров и сеттеров.

Длинный ответ

В Ruby доступ к внутренним данным объекта реализуется через методы геттеров и сеттеров:

- Геттер — метод для чтения значения переменной.

- Сеттер — метод для изменения значения переменной.

 

Пример без сокращений:

class Car  
  def color  
    @color  
  end  

  def color=(value)  
    @color = value  
  end  
end  

car = Car.new  
car.color = "red"  
puts car.color # => "red"  

 

Сокращенная версия с attr_accessor:

class Car  
  attr_accessor :color  
end  

car = Car.new  
car.color = "blue"  
puts car.color # => "blue"  

 

- attr_reader создает только геттер.

- attr_writer создает только сеттер.

- attr_accessor создает и геттер, и сеттер.

 

Использование геттеров и сеттеров позволяет инкапсулировать данные и контролировать их доступ в объектах. Сокращенные методы attr_accessor и другие делают код чище и читаемее.

Уровень

  • Рейтинг:

    3

  • Сложность:

    5

Навыки

  • Ruby

Ключевые слова

#setter

#getter

#incapsulation

#oop

#class

#attribute

Подпишись на Ruby Developer в телеграм