Класс Base
обычно используется для идентификации абстрактного класса, предназначенного для расширения и реализации разработчиком в конкретном классе.
Например, ActiveRecord::Base
является абстрактным классом для любого ActiveЗапись модели в проекте Rails.Модель выглядит как
class User < ActiveRecord::Base
end
Аналогично, Observer
определяет свой собственный Observer::Base
, а Action Controller определяет ActionController::Base
, который в проекте Rails немедленно реализуется ApplicationController::Base
.
Ruby не предоставляет и ключевое слово уровня языка или синтаксис для определения абстрактных классов.Технически говоря, ActiveRecord::Base
это не настоящий абстрактный класс, но это своего рода соглашение использовать Base
для этого шаблона.