0Pricing
Ruby Academy · レッスン

ミックスインとモジュール

従来の継承を使わずに、モジュールとミックスインでクラスの機能を拡張します

「ミックスインとモジュール」はCoddyKit上の無料Ruby Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはRuby Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Ruby Academyコースには全4レッスンが含まれています。

モジュールによるコードの共有

ミックスインとモジュール

モジュールを使用すると、従来の継承を使わずにコードを整理して再利用できます。

ミックスインを使用すると、直接関係のない複数のクラスで振る舞いを共有できます。

このレッスンでは、Rubyでモジュールとミックスインを使用する方法を学びます。

ミックスインとモジュール — イラスト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の使用

extendの使用

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の使用

モジュール内のメソッドでは、selfを使用して直接アクセスできるように定義できます。

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

Helper.greet

おめでとうございます

おめでとうございます

Rubyでミックスインとモジュールを使用する方法を学びました。

次は、ファイルと入出力操作について学びます。

ミックスインとモジュール — イラスト10

よくある質問

「ミックスインとモジュール」レッスンは無料ですか?

はい。「ミックスインとモジュール」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Ruby Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Ruby Academyコースには全4レッスンが含まれています。

「ミックスインとモジュール」で何を学びますか?

従来の継承を使わずに、モジュールとミックスインでクラスの機能を拡張します ブラウザで直接実行するハンズオンコードでRuby Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Ruby Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのRuby Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。

「ミックスインとモジュール」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このRuby Academyレッスンでコードを書いて実行できますか?

はい。すべてのRuby Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. クラスとオブジェクト
  2. インスタンス変数とメソッド
  3. 継承とポリモーフィズム
  4. ミックスインとモジュール
← Ruby Academyに戻る