できること - ruby ゲーム



Rubyの "基本"クラス (1)

Baseクラスは、抽象クラスを識別するために一般的に使用され、開発者が具体的なクラスに拡張して実装することを意図しています。

たとえば、 ActiveRecord::Baseは、Railsプロジェクト内のアクティブレコードモデルの抽象クラスです。 モデルは次のようになります

class User < ActiveRecord::Base
end

同様にObserverは自身のObserver::BaseとAction Controllerを定義し、RailsプロジェクトではApplicationController::Baseによって即座に実装されるActionController::Baseを定義しApplicationController::Base

Rubyでは抽象クラスを定義するためのキーワードレベルやキーワードは提供されていません。 技術的に言えば、 ActiveRecord::Baseは実際の抽象クラスではありませんが、このパターンにBaseを使用するのは一種の規約です。

https://ffff65535.com

Rubyでは "Base"クラスに名前を付けるのが一般的です。 なぜ、私はそれについてどのように感じるかわからない。

たとえば、 ActiveRecord考えてみましょう。 ActiveRecordObserverMigrationような多くのクラスとBaseと呼ばれるクラスを含むモジュールです。 ObserverMigrationを含むActiveRecordクラスを持つのとは対照的に、これのメリットは何ですか?

class ActiveRecord

  class Observer
    [...]
  end

  class Migration
    [...]
  end

end

module ActiveRecord

  class Base
    [...]
  end

  class Observer
    [...]
  end

  class Migration
    [...]
  end

end




ruby