Accessing container's methods

Michael Torrie torriem at gmail.com
Mon Dec 7 13:36:02 EST 2015


On 12/07/2015 11:10 AM, Tony van der Hoff wrote:
> Hi,
>> I have a class A, containing embedded embedded classes, which need to 
> access methods from A.
> .
> A highly contrived example, where I'm setting up an outer class in a 
> Has-a relationship, containing a number of Actors. The inner class needs 
> to access a method of the outer class; here the method get_name.
>> I don't really want to make Actor a sub-class (is-a; it isn't) of Monty; 
> that would raise all sorts of other problems.
>> Can anyone please advise me on how to achieve this magic?

You could add an attribute to each embedded object that provides a
reference back to the container object.
All in all, this design has a kind of smell to it. Would it not be
better to ask the container class for information about the children,
rather than the other way around? If a piece of code holds a reference
to the child object then it must also by definition hold a reference to
the container object, so why can't it ask the container object directly?


More information about the Python-list mailing list

AltStyle によって変換されたページ (->オリジナル) /