logo       

Re: how to stop the subclass from overriding a method.: msg#02334

ruby-talk

Subject: Re: how to stop the subclass from overriding a method.

On Thu, Jul 30, 2009 at 9:00 PM, Matt Neuburg<matt_neuburg@xxxxxxxxxxx> wrote:
> Venkat Akkineni <venkatram.akkineni@xxxxxxxxx> wrote:
>
>> Hi
>>
>>               How would one create a method that is accessible from
>> outside but avoid the subclass from overriding and changing the
>> definition?
>
> Something like this?
>
> class Superclass
>  def do_not_override
>  end
>  def self.method_added(s)
>    if s == :do_not_override
>      puts "Warning: you should not override this method"
>    else super
>    end
>  end
> end
>
> That doesn't really prevent the programmer from working his will, but
> then in Ruby *nothing*
with the exception of freeze, but that is not applicable here as
frozen classes can be subclassed without any problem and would be too
radical anyway.
But I thought if noteworthy that frozen objects and closures cannot be
"cracked" in Ruby.
Cheers
Robert

Google Custom Search

News | Mail Home | sitemap | FAQ | advertise