クラスメソッドは特異メソッドやシングルトンメソッドとも呼ばれる,インスタンスではなくクラス本体に紐付けられるメソッドです. 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
[edit] dynamic include: JSON::Generator::GeneratorMethods::String (by json) dynamic extend: JSON::Generator::GeneratorMethods::String::Extend (by json) 要約 文字列のクラスです。ヌル文字を含む任意のバイト列を扱うことができます。文字列の長さにはメモリ容量以外の制限はありません。 文字列は通常、文字列リテラルを使って生成します。以下に文字列リテラルの例をいくつか示します。 文字列リテラルの例 'str\\ing' # シングルクオート文字列 (エスケープシーケンスがほぼ無効) "string\n" # ダブルクオート文字列 (エスケープシーケンスがすべて有効) %q(str\\ing) # 「%q」文字列 (エスケープシーケンスがほぼ無効、デ
[edit] dynamic include: JSON::Generator::GeneratorMethods::Integer (by json) 要約 整数クラスです。 整数オブジェクトに特異メソッドを追加する事はできません。追加した場合、 TypeError が発生します。 かつて Integer クラスのエイリアスであった Fixnum と Bignum は 3.2 で削除されました。 目次 特異メソッド sqrt try_convert インスタンスメソッド % & * ** + - -@ / < << <= <=> == === > >= >> [] ^ | ~ abs allbits? anybits? bit_length ceil ceildiv chr denominator digits div divmod downto even? fdiv floor gcd
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)
この記事の概要 オブジェクト指向とその関連概念の理解を、基礎的なところから目指す(๑•̀ㅂ•́)و✧ キーワード => [ クラス、継承、拡張、インスタンス、self、カプセル化、多態性 ] そもそもオブジェクトってなに??( ・ὢ・ ) ひとつのテーマをもったデータとデータの処理のあつまりをオブジェクトという。 たとえば、数値オブジェクト。1, -15, 3.1415など、数を表すもの。 => すべてのオブジェクトは、なんらかのクラスのインスタンス(実体化したもの)である。 例).classとオブジェクトのあとにclassメソッドを続けると、そのオブジェクトがどこのクラスに所属しているかがわかる。 puts 1.classとすると、fixnum クラスに所属しているとわかる。fixnum とは整数のクラスを指す。 クラスとインスタンスのカンケイ(๑•﹏•) この話でよく引き合いに出される
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く