Что такое Singleton-метод?
Этот вопрос проверяет понимание уникальных методов, принадлежащих одному конкретному объекту.
Короткий ответ
Singleton-метод — это метод, который определён для одного конкретного объекта, а не для класса, к которому он принадлежит.
Длинный ответ
Singleton-метод позволяет добавить индивидуальное поведение конкретному объекту. Это полезно, когда нужно изменить или дополнить функциональность одного экземпляра класса, не затрагивая остальные объекты этого класса.
Пример Singleton-метода:
str = "Hello"
def str.reverse_words
self.split.reverse.join(" ")
end
puts str.reverse_words # => "Hello"
Здесь метод reverse_words добавлен только объекту str. Другие строки не будут иметь такого метода:
another_str = "World"
puts another_str.reverse_words # => Ошибка, метод не определён
Eigenclass:
- Singleton-методы хранятся в специальном объекте — eigenclass (собственный класс объекта).
Singleton-методы полезны для добавления уникальных возможностей конкретным объектам без изменения всего класса.