Псевдоним метода в Ruby требует простого программирования

Псевдоним метода или имени переменной в Ruby означает создание второго имени для метода или переменной. Псевдонимы могут использоваться либо для предоставления программистам, использующим класс, более выразительных опций, либо для помощи в переопределении методов и изменении поведения класса или объекта. Ruby предоставляет эту функциональность с помощью ключевых слов "alias" и "alias_method".

Ключевое слово alias принимает два аргумента: старое имя метода и новое имя метода. Имена методов должны передаваться как метки, а не как строки. Метки используются для ссылки на методы и переменные без прямой ссылки на них. Если ты новый Рубин Программист, концепция меток может показаться странной, но всякий раз, когда вы видите метку вроде «: methodname», просто читайте ее как « вещь с именем methodname. "В следующем примере объявляется новый класс и создается псевдоним для метода on, вызываемого Начало.

Могут быть случаи, когда вы захотите изменить поведение класса после того, как он был объявлен. Вы можете создать псевдоним и добавить новые методы в существующий класс, создав объявление второго класса, имя которого совпадает с именем существующего объявления класса. Вы также можете добавлять псевдонимы и методы к отдельным объектам, используя синтаксис, аналогичный синтаксису унаследованного класса. Поведение любого класса можно изменить, создав псевдоним для любого метода, а затем создав новый метод (с исходным именем метода), который вызывает метод с псевдонимом.

instagram viewer

В следующем примере объявлен микроволновый класс и экземпляр создано. Второе объявление класса использует метод псевдонимов, чтобы изменить поведение метода «on» для добавления предупреждающего сообщения. Объявление третьего класса используется для изменения поведения конкретного микроволнового экземпляра, чтобы добавить еще более строгое предупреждение. При псевдониме метода несколько раз, убедитесь, что вы используете разные имена методов для хранения старого метода.

instagram story viewer