# DelegateClasså…ƒã®ã‚¯ãƒ© ã‚¹ã®protectedãƒ¡ã‚½ãƒƒ ãƒ‰ãŒå‘¼ã³å‡ºã› ãªã„

**URL:** <https://www.ruby-forum.com/t/delegateclassa-a-a-a-a-a-protecteda-a-a-a-a-oea-a-a-a-a-a/172406>\
**Category:** Development\
**Created:** [July 21, 2009, 2:17am UTC](https://www.ruby-forum.com/t/delegateclassa-a-a-a-a-a-protecteda-a-a-a-a-oea-a-a-a-a-a/172406 "2009-07-21T02:17:19Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Akira\_M](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/a183cd/32.png) [@Akira\_M](https://www.ruby-forum.com/u/Akira_M)\
**Post date:** [July 21, 2009, 2:17am UTC](https://www.ruby-forum.com/t/delegateclassa-a-a-a-a-a-protecteda-a-a-a-a-oea-a-a-a-a-a/172406/1 "2009-07-21T02:17:19Z")

</div>

æ¾ç”°ã¨ç”³ã—ã¾ã™ã€‚

Ruby 1.9.2ã‹ã‚‰ã€DeletgateClasså…ƒã®protectedãƒ¡ã‚½ãƒƒãƒ‰ã‚’  
å‘¼ã³å‡ºã—ãŸéš›ã®æŒ™å‹•ãŒå¤‰ã‚ã£ã¦ã„ã‚‹ã‚ˆã†ã«è¦‹ãˆã‚‹ã®ã§  
ã™ãŒã€  
ã“ã‚Œã¯1.9.2ã‹ã‚‰ä»•æ§˜å¤‰æ›´ãŒã‚ã£ãŸã¨ã„ã†ã“ã¨ã§ã—ã‚‡ã†  
ã‹ï¼Ÿ  
å†ç¾ã‚±ãƒ¼ã‚¹ã¯ä»¥ä¸‹ã®ã¨ãŠã‚Šã§ã™ã€‚

require ‘delegate’

class Foo  
protected  
def foo  
‘foo’  
end  
end

class Bar \< DelegateClass(Foo)  
def initialize  
super Foo.new  
end

def baz  
foo  
end  
end

p Bar.new.baz

% ruby19 -v  
ruby 1.9.1p129 (2009-05-12 revision 23412) [i386-darwin9.7.0]  
% ruby19 binding.rb  
“foo”

% ruby\_trunk -v  
ruby 1.9.2dev (2009-07-19 trunk 24201) [i386-darwin9.7.0]  
% ruby\_trunk binding.rb  
binding.rb:16:in `baz': protected method`foo’ called for #\<Foo:  
0x2d01b8\> (NoMethodError)  
from binding.rb:20:in `’
