Adaptive inheritance happens when you use a subclass to change a property or the workings of an existing event or method. Here's how:
In general, the more code lies in the parent class method, the tougher it is to use adaptive inheritance that doesn't involve overriding the parent class behavior.
- Overriding the parent class behavior,
- pre-processing (and possibly overriding) the parent class behavior,
- post-processing the parent class behavior,
- or both pre- and post-processing the parent class behavior.
Whenever you override the behavior of a parent class method, you are probably dealing with a flawed design. It's a sign that the parent class method should have been abstract.
In the VFP for event methods you also have following:
-- Vlad Grynchyshyn
- Overriding the basic event functionality using 'NODEFAULT'
You forgot about DODEFAULT() for pre/post processing - ?edyshor
See also: Extensibility Inheritance, Semantics
Contributors: Steven Black
Category Class Design Category OOPrinciples
( Topic last updated: 2006.06.07 12:57:02 PM )