class Processor def process protected_process end def protected_process private_process end protected :protected_process def private_process puts "done" end private :private_process end
processor = Processor.new
processor.protected_process
protectedされたメソッドの呼び出しについて
protectedの説明として
そのメソッドが定義されたのと同じクラス、またサブクラスのインスタンスからしか呼び出せない
とあります。
そのメソッドが定義されたクラス
Processorクラスのインスタンスが入った
processorから
protected_processを呼び出すため
processor.protected_process
とした時に、
同じクラスのインスタンスから呼んでいるのにprotectedとなって呼べないのは何故でしょうか?
説明を読むと同じクラスのインスタンスからの呼び出しなのでエラーは吐かないと思ったのですが・・・
回答1件
あなたの回答
tips
プレビュー