Ruby Academy · Урок

Модули и примеси

Используйте модули и примеси для расширения функциональности класса без традиционного наследования

Урок 4 из 410 шагов

«Модули и примеси» — бесплатный урок Ruby Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Ruby Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Ruby Academy содержит 4 уроков всего.

Совместное использование кода с помощью модулей

Примеси и модули

Модули позволяют организовывать и повторно использовать код без традиционного наследования.

Примеси позволяют нескольким классам совместно использовать поведение, не будучи напрямую связанными.

В этом уроке Вы научитесь использовать модули и примеси в Руби.

Модули и примеси — иллюстрация 1

Определение модуля

Модули определяются с помощью ключевого слова module, и из них нельзя создавать экземпляры.

module Greetings
  def say_hello
    puts 'Hello!'
  end
end

Подключение модуля

Используйте include, чтобы добавить методы модуля в качестве методов экземпляра.

module Greetings
  def say_hello
    puts 'Hello!'
  end
end

class Person
  include Greetings
end

person1 = Person.new
person1.say_hello

Использование расширения

extend добавляет методы модуля в качестве методов класса.

module Greetings
  def say_hello
    puts 'Hello!'
  end
end

class Person
  extend Greetings
end

Person.say_hello

Использование нескольких модулей

Класс может подключать несколько модулей для реализации разных функций.

module Walkable
  def walk
    puts 'Walking...'
  end
end

module Talkable
  def talk
    puts 'Talking...'
  end
end

class Person
  include Walkable
  include Talkable
end

person1 = Person.new
person1.walk
person1.talk

Использование констант в модулях

Модули могут хранить константы, к которым можно обращаться с помощью ::.

module MathOperations
  PI = 3.14
end

puts MathOperations::PI

Инкапсуляция методов в модулях

Модули позволяют определять вспомогательные методы, которые можно использовать в разных классах.

module Formatter
  def format_text(text)
    text.upcase
  end
end

class Document
  include Formatter
end

doc = Document.new
puts doc.format_text('hello')

Использование self в модулях

Методы внутри модуля можно определять с помощью self, чтобы сделать их доступными напрямую.

module Helper
  def self.greet
    puts 'Hello from a module!'
  end
end

Helper.greet

Поздравляем!

Вы научились использовать примеси и модули в Руби.

Далее Вы изучите работу с файлами и операциями ввода-вывода.

Модули и примеси — иллюстрация 10
Можно начать бесплатно

Изучай Ruby с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
29
Уроки
109

Часто задаваемые вопросы

Урок «Модули и примеси» бесплатный?

Да — полный текст урока «Модули и примеси» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Ruby Academy, подпишись на CoddyKit PRO. Курс Ruby Academy содержит 4 уроков всего.

Чему я научусь в уроке «Модули и примеси»?

Используйте модули и примеси для расширения функциональности класса без традиционного наследования Ты практикуешь Ruby Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Ruby Academy?

Предыдущий опыт не требуется. Ruby Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Модули и примеси»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Ruby Academy?

Да. Каждый урок Ruby Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Классы и объекты
  2. Переменные экземпляра и методы
  3. Наследование и полиморфизм
  4. Модули и примеси
← Назад к Ruby Academy