Hiuya JimB ----
>
>Having a property or method that is not in the parent class can be indicative of a poor class design. The purpose of the highest class level is to define the public interface for all of its subclasses. Introducing a new property or method down the inheritence tree causes the interface to change within the particular class.
Hmmm. I'm not sure I agree with this 100%. I think it depends a lot on your class/object structure. I would think that the purpose of the *superclass* is to define the *common* public interface for all subclasses but there may be changes in PEMS in classes down the inheritance tree. Think of it this way:
Super ----> Parent -----> Child (Instance)
Vehicle ---> Automobile -> SUV (Isuzu Rodeo)
The Rodeo has common vehicle superclass properties and events/method but it may have some custom properties (4WD) at the class level not applicable to the automobile.
IMHO the whole idea of having to define child classes is to be able to instantiate objects with added or changed functionality from the super or parent class.
------------------------------------------------
John Koziol, ex-MVP, ex-MS, ex-FoxTeam. Just call me "X"
"When the going gets weird, the weird turn pro" - Hunter Thompson (Gonzo) RIP 2/19/05