Intelligent children pattern
From CSSEMediaWiki
(Difference between revisions)
BenMcDonald (Talk | contribs) |
|||
Line 2: | Line 2: | ||
Basically it states that the children of a [[Parallel hierarchies problem]] should know about the corresponding children of the other heirarchy. | Basically it states that the children of a [[Parallel hierarchies problem]] should know about the corresponding children of the other heirarchy. | ||
− | |||
[[Image:Intelegent Children.jpg|800px]] | [[Image:Intelegent Children.jpg|800px]] | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ==Abstract Accessors== | ||
+ | An abstract accessor can be used to access the Operator from an object that is only know to be a Vehicle. This lets your Vehicle object have a contract about containing an Operator. This is know as the [[Defer identification of state variables pattern]]. | ||
+ | |||
+ | [[Image:ICP_-_Abstract_Accessor.png|800px]] | ||
+ | ===Language Notes=== | ||
+ | J2SE5.0 and above allows covariant return types in overridden methods if the object returned is a subclass of the type returned by the method with the same signature in the superclass. | ||
+ | |||
+ | C++ does not allow any overridden methods with covariant return types | ||
Revision as of 01:14, 2 October 2009
This idea is similar to the Defer identification of state variables pattern.
Basically it states that the children of a Parallel hierarchies problem should know about the corresponding children of the other heirarchy.
Abstract Accessors
An abstract accessor can be used to access the Operator from an object that is only know to be a Vehicle. This lets your Vehicle object have a contract about containing an Operator. This is know as the Defer identification of state variables pattern.
Language Notes
J2SE5.0 and above allows covariant return types in overridden methods if the object returned is a subclass of the type returned by the method with the same signature in the superclass.
C++ does not allow any overridden methods with covariant return types