Yes, but it's actually, overRIDING ;)
----- Original Message -----
From: "Merrill, Jason" <[EMAIL PROTECTED]>
To: "Flashcoders mailing list" <flashcoders@chattyfig.figleaf.com>
Sent: Tuesday, January 16, 2007 12:32 PM
Subject: RE: [Flashcoders] overwriting a class
Flash allows deleting classes. But maybe I am not
aware of some resulting problems.
Is is ok in terms of good programing practices ?
No, don't delete anything. Why not use method overwriting?
class myBaseClass(){
function speak(){
trace("greeting)
}
}
class myHelloClass extends myBaseClass{
function speak(){
trace("Hello")
}
}
class myWhatsUpClass extends myBaseClass{
function speak(){
trace("What's Up?")
}
}
then create instances of the ones you want to use
Jason Merrill
Bank of America
Learning & Organizational Effectiveness
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf
Of BlackMail
Sent: Tuesday, January 16, 2007 1:05 PM
To: flashcoders@chattyfig.figleaf.com
Subject: [Flashcoders] overwriting a class
Hi,
I am looking for advice about swapping classes of the same
name but using different methods.
Let's consider three classes:
class SomeClass
{
public function meth()
{
trace("meth of skin SomeClass VERSION 0");
}
}
//
class SomeClass
{
public function meth()
{
trace("meth of skin SomeClass VERSION 1");
}
}
//
class SomeClass
{
public function meth()
{
trace("meth of skin SomeClass VERSION 2");
someNewMethod();
}
private function someNewMethod()
{
trace("something new...");
}
}
The first of those is imported into a main.swf file. I can make an
instance:
var Q:SomeClass = new SomeClass();
Q.meth() // traces : meth of skin SomeClass VERSION 0
The next two classes are imported in: one storage1.swf and
the other, storage2.swf
Both .swf files are loaded into the main.swf. First the
storage1.swf and next storage2.swf. But before loading, I
delete the class:
trace(SomeClass) // out: [type Function] delete SomeClass
trace(SomeClass) // out: undefined
And after loading the storage1.swf I can make again an
instance of SomeClass:
var Q1:SomeClass = new SomeClass();
Q1.meth() // traces: meth of skin SomeClass VERSION 1
It uses a new version of meth().
Now I delete the SomeClass class:
delete SomeClass
... and load somewhere into the stage of main.swf the
storage2.swf file. After loading the first one I can make a
new instance of
SomeClass:
var Q2:SomeClass = new SomeClass();
Q2.meth() // traces: meth of skin SomeClass VERSION 2
// something new...
and so on, deleting an loading a new version....
Now the question:
The same class name, the same method name, eventually other,
new methods of the same class and deleting the class....
Could this be a good way to overwrite classes ? I tested it
and works. Flash allows deleting classes. But maybe I am not
aware of some resulting problems.
Is is ok in terms of good programing practices ?
Thanks,
Greg
----------------------------------------------------------------------
Lufa dla generala. Zobacz >> http://link.interia.pl/f19e1
_______________________________________________
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