I believe you can do this
class Foo
{
var bar:Function;
}
//somewhere outside the class
function myfunction():void {trace('hi')};
var foo:Foo = new Foo;
foo.bar = myfunction;
if you have
class Foo
{
function bar():void {}
}
then you must override.
But you have more flexibility if Foo is defined as a Dynamic Class..
--- In [email protected], "Josh McDonald" <[EMAIL PROTECTED]> wrote:
>
> Thanks for that info.
>
> I'm not really sure about how things work internally, besides some vague
> references to "traits" the documentation doesn't help too much - can you
> redefine member methods on a particular instance?
>
> What I mean is this:
>
> var foo : Foo = new Foo();
> foo.bar(); // Does something
> foo.bar = function() : void { doOtherStuff() };
> foo.bar(); // Does something else
>
> -J
>
> On Tue, Apr 29, 2008 at 10:14 AM, Gordon Smith <[EMAIL PROTECTED]> wrote:
>
> > I think there is additional overhead in calling an anonymous
function
> > (i.e., your 'var foo:Function = ' case).
> >
> >
> >
> > And I don't think that the rules for what 'this' is, when the function
> > executes, are the same.
> >
> >
> >
> > Gordon Smith
> >
> > Adobe Flex SDK Team
> >
> >
> > ------------------------------
> >
> > *From:* [email protected]
[mailto:[EMAIL PROTECTED] *On
> > Behalf Of *Josh McDonald
> > *Sent:* Monday, April 28, 2008 4:58 PM
> > *To:* [email protected]
> > *Subject:* Re: [flexcoders] Advanced(?) Actionscript question
> >
> >
> >
> > Of course you're right, my syntax was dodgey. I meant:
> >
> > var foo : Function = function():* {};
> >
> > But besides that, my questions still stand ;-)
> >
> > -J
> >
> > On Tue, Apr 29, 2008 at 9:45 AM, Bjorn Schultheiss <
> > [EMAIL PROTECTED]> wrote:
> >
> > In the second version your initializing foo as an object.
> >
> >
> >
> > I'm pretty certain you cant do,
> >
> > var foo:Function = {trace('foo')}
> >
> >
> >
> >
> >
> >
> >
> > On 29/04/2008, at 9:37 AM, Josh McDonald wrote:
> >
> > Guys,
> >
> > what's the difference (if it exists) between:
> >
> > public function foo() : * {}
> >
> > and:
> >
> > public var foo : Function = {};
> >
> > Does it exist? I assume you can call Bar.foo() in both cases, and foo
> > shows up as a variable in describeType() in the second instance?
Are there
> > other details I'm not aware of?
> >
> > Cheers,
> >
> > -J
> >
> > --
> > "Therefore, send not to know For whom the bell tolls. It tolls for
thee."
> >
> > :: Josh 'G-Funk' McDonald
> > :: 0437 221 380 :: [EMAIL PROTECTED]
> >
> >
> >
> >
> >
> >
> > --
> > "Therefore, send not to know For whom the bell tolls. It tolls for
thee."
> >
> > :: Josh 'G-Funk' McDonald
> > :: 0437 221 380 :: [EMAIL PROTECTED]
> >
> >
> >
>
>
>
> --
> "Therefore, send not to know For whom the bell tolls. It tolls for
thee."
>
> :: Josh 'G-Funk' McDonald
> :: 0437 221 380 :: [EMAIL PROTECTED]
>