1. ホーム
  2. ruby

[解決済み] クラスとモジュールの違い

2022-03-23 23:54:02

質問

私はJavaからやってきて、今はRubyでより多く仕事をしています。

私がよく知らない言語機能のひとつが module . とは一体何なのでしょうか? module を使うのか、どんな時に使うのか、そしてなぜ module の上に class ?

解決方法は?

最初の回答は良いもので、構造的な答えを与えてくれますが、もう一つのアプローチは、あなたが何をしているのかを考えることです。モジュールは、複数のクラスにわたって使用できるメソッドを提供するものです。クラスはオブジェクトのことで、モジュールは関数のことです。

例えば、認証・認可システムは、モジュールの良い例です。認証システムは複数のアプリレベルのクラスにまたがって動作します(ユーザーは認証され、セッションは認証を管理し、他の多くのクラスは認証の状態に応じて異なる動作をします)ので、認証システムは共有APIとして動作します。

また、複数のアプリで共有するメソッドがある場合にも、モジュールを使用することがあります(ここでも、ライブラリモデルが適しています)。