overridding without subclassing examples
bradallenfuller at yahoo.com
Wed Sep 19 00:57:02 UTC 2007
On Tue September 18 2007, Matthew Fulmer wrote:
> On Tue, Sep 18, 2007 at 03:14:15PM -0700, Brad Fuller wrote:
> > Is there a way to override an instance method w/o subclassing?
> > For instance, class Morph has a method that returns true, but I want the
> > that method to return false when instancing some types of Morphs and
> > others not. (there is no setter/getter for this method.) Is there a way
> > to do that w/o adding a setter/getter to Morph or subclassing the
> > different Morphs?
> Your question is pretty vague
> I imagine you see something like
> ^ true
> in class morph, but you want some (or all?) morphs to instead
> ^ self isSomethingWeirdHappening not
> First you can redefine the method in the appropriate class(es). If you
> want to put this change in a MC package, move it to category
> and this method will be stored in the package, and will override
> the existing method when loaded.
> Package-level overrides are not recommended, but they are available
But doesn't that just replace the method? I don't want to change the original
class nor do I want to subclass.
More information about the Squeak-dev