From: Robert Dober Date: 2009-07-31T04:19:27+09:00 Subject: Re: how to stop the subclass from overriding a method. On Thu, Jul 30, 2009 at 9:00 PM, Matt Neuburg wrote: > Venkat Akkineni 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