[ruby] rubyのprivateとprotected

Rubyでは、C++やJavaのprivateと異なり、サブクラスからでもスーパークラスのprivateメソッドを呼ぶことができる。
Rubyにおけるprotectedとprivateの違いは、レシーバが付けられるかどうかであり、サブクラスから呼べるかどうかではない。
privateメソッドにはレシーバを付けられないので、同じクラスの別のインスタンスのprivateメソッドは呼べない。このような場合にprotectedを使用する。
protectedメソッドは、そのメソッドを持つオブジェクトもメソッド定義式内でなければ呼び出せない。

クラス/メソッドの定義 - Rubyリファレンスマニュアル

トラックバック(0)

このブログ記事を参照しているブログ一覧: rubyのprivateとprotected

このブログ記事に対するトラックバックURL: http://www.pistolfly.jp/mt/mt-tb-alt.cgi/312

コメントする