クラスメソッドは特異メソッドやシングルトンメソッドとも呼ばれる,インスタンスではなくクラス本体に紐付けられるメソッドです. C++ や Java などでいう static メソッドのような感じのものです. 一番オーソドックスなやり方 class Hoge def self.hoge "hoge" end end # クラス名を直接指定して呼び出し Hoge.hoge #=> "hoge" # ::を使っても OK Hoge::hoge #=> "hoge"
スーパークラスのメソッドがサブクラスでオーバーライドされた場合でも、サブクラスのインスタンスからスーパークラスのメソッドを「super」を指定しt明示的に呼び出すことができます。ここでは Ruby でオーバーライドされたスーパークラスのメソッドを呼び出す方法について解説します。
継承先クラスの新メソッドで元クラスの既存メソッドをオーバーライドして異なる機能に置き換える方法と、新メソッド内から既存メソッドを呼び出すことで既存機能に新機能を追加する方法を説明する。 ← 前回 連載 INDEX 次回 → サブクラスでメソッドをオーバーライドすれば、スーパークラスの機能と同じ名前で、異なる機能を持つメソッドを作成したり、スーパークラスのメソッドに機能を追加したメソッドを作成したりできる。今回はメソッドをオーバーライドする方法を見る。 メソッドをオーバーライドする オーバーライドとは、スーパークラスのメソッドを「再定義」することと考えればよい。従って、オーバーライドされたメソッドには同じ名前が使われる。では、サブクラスの作成とメソッドのオーバーライドを具体的な例で見ていこう。 例えば、猫を表すCatクラスがあり、そのクラスを継承したTigerクラスを作成したものとする。Ti
[edit] dynamic include: JSON::Generator::GeneratorMethods::Array (by json) 要約 配列クラスです。配列は任意の Ruby オブジェクトを要素として持つことができます。 一般的には配列は配列式を使って 例 [1, 2, 3] のように生成します。 目次 特異メソッド [] new try_convert インスタンスメソッド & * + - << <=> == [] []= | all? any? append assoc at bsearch bsearch_index clear clone collect collect! combination compact compact! concat count cycle delete delete_at delete_if difference dig drop d
Rubyのクラスの基本についてです。以前書いたメソッドと、変数・定数について関係してるところもあるのでリンク貼っておきます。 【Ruby】メソッドの基本について 【Ruby】変数と定数ついて クラスとは Rubyは全てのデータがオブジェクトです。また、オブジェクトは例外なくなんらかのクラスに属しています。オブジェクトがどのクラスに属しているのか確認するには.classメソッドを使用します。 "hoge".class #=> String 100.class #=> Fixnum [1, 2, 3].class #=> Array false.class #=> FalseClass オブジェクトがあるクラスのインスタンスかどうかを判断するには.instance_of?(klass)メソッドを使います。 ary = Array.new() p ary.instance_of?(Array)
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く