failing to instantiate an inner class because of order of inner classes

Pyenos pyenos at pyenos.org
Wed Dec 27 18:19:27 EST 2006


"Edward Kozlowski" <ekozlowski1 at gmail.com> writes:

> Pyenos wrote:
> > class model:pass
> > class view:
> >         model()
> > class controller:
> >         model()
> >
> > I can instantiate clsss model from inside class view but I can't
> > instantiate class model from inside controller, due to the nature of
> > python interpreter.
> >
> > I wish to circumvent this restriction by:
> >
> > class model:pass
> > class view:
> >         parent_class.model()
> > class controller:
> >         parent_class.model()
> >
> > but, I don't know the built-in variable that points to the parent
> > class. Could someone tell me how can I instantiate class model from
> > inside controller AND instantiate class model from inside view?
> 
> I would try the following:
> 
> class model:
>     def printFoo(self):
>         print "foo"
> class view:
>     def __init__(self):
>         self.model = model()
> class controller:
>     def __init__(self):
>         self.model = model()
> 
> Then you can do:
> vObj = view()
> vObj.model.printFoo()
> 
> And:
> cObj = controller()
> cObj.model.printFoo()

I've made an error in the original article that you have quoted here
but I have cancelled it. However, I have understood your solution and
I think it is helpful. Thank you.



More information about the Python-list mailing list