FrontPage  Index  Search  Changes  Login

(Ruby)クラス・オブジェクト

クラス・オブジェクト

インスタンス属性へのアクセッサメソッドを作成するショートカット。

class Foo
    def initialize(hoge, fuga)
        @hoge = hoge
        @fuga = fuga
    end
    attr_reader :hoge, :fuga
end
aFoo = Foo.new("hoge", "fuga")
aFoo.hoge    #=>"hoge"
aFoo.fuga    #=>"fuga"

属性を代入可能にする

class Foo
    def foo=(newFoo)
        @foo = newFoo
    end
end
aFoo = Foo.new
aFoo.foo = "newFoo"
class Foo2
    def initialize(hoge, fuga)
        @hoge = hoge
        @fuga = fuga
    end
    attr_writer :hoge, :fuga
end
aFoo = Foo.new("hoge", "fuga")
aFoo.hoge = "hoge2"
aFoo.fuga = "fuga2"

クラスメソッド

rubyではクラスメソッドは「クラス.メソッド」で定義する。

class Foo
    def Foo.bar
        #なんらかの処理
    end
end

アクセス制御

class Foo
    def method1
    end
protected
    def method2
    end
private
    def method3
    end
end
class Foo2
    def method1
    end
    def method2
    end
    def method3
    end
public :method1
protected :method2
private :method3
end
Last modified:2004/03/29 15:50:28
Keyword(s):
References: