One more question while in Composition mode lets say I have my main class
Main -method1 (calls method2) -method2 (calls method3) -method3 With Inheritance I could do Copy -method2 (calls method3 of Main) When instantiating Copy it would know to use method1, and method3 from original while using method2 from the copy. Is there a way to achieve the same issue with composition? So far thanks to the explanation above I can access the methods of Main from a Copy instantiation but cant access methods of Copy from Main when needed. I might be approaching this all wrong which might be the main issue :( TIA On 6/8/07, Helmut Granda <[EMAIL PROTECTED]> wrote:
hey David, your suggestion works perfectly, it was my implementation that was breaking the code. Thanks again. -h On 6/8/07, Helmut Granda <[EMAIL PROTECTED]> wrote: > > Thanks David, > > For some odd reason if I do in my coopy > > public function init():Void > { > trace("init in copy class"); > } > > it wont fire but it will fire the init method from the Original Class > (which by the way seem very similar to inheritance :) ).... any ideas why > this could be happening? > > Thanks again... > > On 6/8/07, David Ngo < [EMAIL PROTECTED]> wrote: > > > > You'd basically create a 'wrapper' method: > > > > class CopyClass { > > > > private var original:OriginalClass; > > private var mc:MovieClip; > > > > public function CopyClass(mc:MovieClip) > > { > > this.mc = mc; > > original = new OriginalClass(mc); > > } > > > > public function init():Void > > { > > original.init (); > > } > > } > > > > > > It's almost like calling super. However, if you're looking to override > > the > > original class' init(), then you don't need to call original.init() > > and just > > create your logic in your CopyClass' init method. This is the one > > drawback > > to using Composition over Inheritance, but I would say it's worth it > > in the > > long-run. > > > > > > David > > > > > > -----Original Message----- > > From: [EMAIL PROTECTED] > > [mailto:[EMAIL PROTECTED] On Behalf Of Helmut > > Granda > > Sent: Friday, June 08, 2007 10:27 AM > > To: Flashcoders mailing list > > Subject: [Flashcoders] Composition access > > > > I am slowly moving from inheritance to composition for a specific > > project, > > one way to "extend" my classes is by creating a copy of them into the > > new > > created classes... > > > > class OriginalClass { > > > > var mc:MovieClip; > > > > function original(mc:MovieClip) { > > this.mc = mc; > > init(); > > }; > > > > function init() { > > trace("original"); > > } > > > > ------ now trying to overwrite init > > > > class CopyClass { > > > > var original : OriginalClass; > > var mc : MovieClip; > > > > function CopyClass(mc:MovieClip) { > > this.mc = mc; > > original = new OriginalClass(mc); > > > > } > > > > //How do I access init from the original class? I know that doing > > inheritance I can just declare a new init method in my CopyClass but > > in this > > case it doesnt work that way. > > > > TIA > > _______________________________________________ > > Flashcoders@chattyfig.figleaf.com > > To change your subscription options or search the archive: > > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > > > Brought to you by Fig Leaf Software > > Premier Authorized Adobe Consulting and Training > > http://www.figleaf.com > > http://training.figleaf.com > > > > _______________________________________________ > > Flashcoders@chattyfig.figleaf.com > > To change your subscription options or search the archive: > > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > > > Brought to you by Fig Leaf Software > > Premier Authorized Adobe Consulting and Training > > http://www.figleaf.com > > http://training.figleaf.com > > > >
_______________________________________________ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com