|
Posted by Jochem Maas on 10/21/32 11:21
Chris wrote:
> Hi,
>
> I've got a collection of Element classes (about 8 different ones). They
> are all subclasses of a single parent element. I'm trying to extend
> their functionality (both the individual classes, and the parent class
> they inherit).
>
> I can extend each Element subclass with it's new specific functionality,
> but I would also like to add specific functionality to all of the
> subclasses. Extending the parent element with the new functionality
> would *seem* to be the way to go, but I can't make it work None of the
> Subclasses inherit from the extended superclass. Any thoughts? I'd
> appreciate any ideas.
BaseElement
|- SubElement1
| \- ExtendedSubElement
|- SubElement2
|- SubElement3
|- SubElement4
|- SubElement5
|- SubElement6
|- SubElement7
|- SubElement8
\- ExtendedBaseElement
ExtendedSubElement will never be able to inherit from ExtendedBaseElement.
there is no multiple inheritance in php.
So either change your 'tree':
BaseElement
\- ExtendedBaseElement
|- SubElement1
| \- ExtendedSubElement
|- SubElement2
|- SubElement3
|- SubElement4
|- SubElement5
|- SubElement6
|- SubElement7
|- SubElement8
.... stick the functionality of ExtendedBaseElement into BaseElement
and get rid of the ExtendedBaseElement
.... or figure out a neat way to use the 'Decorator Pattern'
(http://www.google.com/search?q=Decorator+Pattern) in order to
conditionally make extended functionality available in specific
descendant classes?
otherwise post some code (cutdown :-) for people to look at.
>
> Thanks,
> Chris
>
Navigation:
[Reply to this message]
|