From: Gene Tani Date: 2006-09-21T23:15:12+09:00 Subject: Re: access specifiers Sourav wrote: > Hi, > I am new to Ruby and after progamming in several other languages, I am > really enjoying the fun of Ruby. I had question regarding the access > specifiers in Ruby; suppose the following two classes, > > class C1 > private > def aMethod > "I am a method" > end > end > > class C2 < C1 > public :aMethod > end > > In C1, aMethod was private, but in C2 it became public... so this way, > any private method of a class can be converted to public methods. So > then what is the use of having them (private methods) in the first > place at all! In C++, there is a rule that, an object (data or > function) of lower access-specifier can be upgraded to higher > acc-specifier but the reverse is not true. Should it not also be > implemented in Ruby? > Yes, there's a few ways to circumvent "private" declarations: Object#send (this will change in 1.9), delegate with instance_eval, anonymous modules. In your example, you don't have to subclass the class with private methods, you can simply re-open the class definition and declare them public.