読者です 読者をやめる 読者になる 読者になる

Ruby (on Rails)入門 ~現在、勉強中(2015年6月開始)~

Ruby、Ruby on Railsを勉強中。参考書を読んだり、ネット情報を読むだけでは忘れてしまうのでメモする。

【Ruby (on Rails)入門メモ#?】メソッドの呼び出し制限(publicとprivate)

メソッドの呼び出しを制限する。
アクセス制限が3種類ある。

・public
クラス外で実行可能

・private
クラス内でだけ実行可能

・protected


下記では①publicと②privateを試す。

■アクセス制限レベルの設定方法
メソッドを定義した後に
アクセス制限レベル(public, private, protected) :メソッド
 と設定

メソッド定義の前の行にアクセス制限レベルを設定する

■例
メソッドを定義した後に
アクセス制限レベル(public, private, protected) :メソッド
 と設定

#テスト用クラスの定義
class TestMethod
    def publicMethod
        privateMethod()  #publicMethodの中でprivateMethodを実行
        puts "publicだよ"
    end
    public :publicMethod    #メソッドのアクセス制限レベルをpublicに設定

    def privateMethod
        puts "privateだよ"
    end
    private :privateMethod    #メソッドのアクセス制限レベルをprivateに設定
end

##実行
obj = TestMethod.new()

#publicのメソッドを実行
obj.publicMethod()

#privateのメソッドを実行
obj.privateMethod()  #エラーになります

■例
メソッド定義の前の行にアクセス制限レベルを設定する

#テスト用クラスの定義
class TestMethod
    public    #この行より下の行で定義されるメソッドのアクセス制限レベルをpublicに設定
    def publicMethod
        privateMethod()
        privateMethod2()
        puts "publicだよ"
    end

    private    #この行より下の行で定義されるメソッドのアクセス制限レベルをprivateに設定
    def privateMethod
        puts "privateだよ"
    end

    def privateMethod2
        puts "private2だよ"
    end
end

##実行
obj = TestMethod.new()

#publicのメソッドを実行
obj.publicMethod()

#privateのメソッドを実行
obj.privateMethod()  #エラーになります
obj.privateMethod2()  #エラーになります


■勉強で使用中書籍
・他のプログラミング言語を使える人向け。[現在使用中]
プログラミング初心者には向かない。

・たのしいRubyを読み終えたら勉強するつもり

初めてのRuby

初めてのRuby

Railsを勉強するなら、まずはこれがいいらしい

RailsによるアジャイルWebアプリケーション開発 第4版

RailsによるアジャイルWebアプリケーション開発 第4版