Hi Mark,

I do not see a reason to use it the way you do, however, due to design
limitations it might make sense. As Maurice pointed out, if this interface
is not inherited and thus implemented on the superclass and you want to
call it in that overriden function, there is no other way. And consider
that you'd have to call this function anyway, if you want to add the
functionality that foo() provides into the overriden function. Even without
making it required public API, enforced by an interface.

Martin


On Wed, Oct 9, 2013 at 7:53 PM, mark goldin <[email protected]> wrote:

> In my experience using SDK components when I use an interface I usually
> just implement its methods, but dont have to aslo call these methods in the
> same class that implements the interface. I am might be wrong altogether.
>
>
> On Wed, Oct 9, 2013 at 12:47 PM, Maurice Amsellem <
> [email protected]> wrote:
>
> > > The class has a function foo that is coming from the Interface
> > implementation and it also calls this function.
> > Do you mean the class "Class1" has a function foo that is coming from the
> > "IComponent" Interface implementation and it also calls this function.
> >
> > If so, then of course it will call it. That's the basics of OOP.
> >
> > So what do you mean "But it just does not look right" ?  compilation
> error
> > ?
> >
> > Maurice
> >
> > -----Message d'origine-----
> > De : mark goldin [mailto:[email protected]]
> > Envoyé : mercredi 9 octobre 2013 19:41
> > À : users
> > Objet : Interface question
> >
> > I have a class:
> > public class Class1 extends SkinnableContainer implements IComponent {
> >
> > }
> > public interface IComponent
> > {
> > function foo(component:IComponent):void; }
> >
> > So, if Class1 implements IComponent it has to have the following method:
> > public function foo(component:IComponent):void {
> >    // implementation
> > }
> > I am calling foo like this:
> > override protected function childrenCreated():void {
> > super.childrenCreated(); foo(this); }
> >
> > But it just does not look right. The class has a function foo that is
> > coming from the Interface implementation and it also calls this function.
> > Is that right?
> >
> > Thanks
> >
>

Reply via email to