You are here: Re: [PHP] PHP 5 Object Inheritance « PHP « IT news, forums, messages
Re: [PHP] PHP 5 Object Inheritance

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]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация