On 6 April 2012 15:54, John Fabiani <[email protected]> wrote:
> Hi,
>
> I want to create a class that inherits two other classes.
>
> class NewClass( A,B)
>
> But both "A" and "B" contain a method with the same name ("onKeyDown").
>
> If my "NewClass" does not contain something to override the methods which one
> would be called if
>
> myinstance = NewClass()
>
> myinstance.onKeyDown()
Hi John,
Easy enough to sort out with a little experiment:
>>> class A(object):
def doit(self):
print "A"
>>> class B(object):
def doit(self):
print "B"
>>> class C(A,B):
def __init__(self):
self.doit()
>>> c=C()
A
> Second to insure the right one is called is it possible to do the following
>
> NewClass(object):
>
> def onKeyDown(self, event):
> b.onKeyDown(event)
>
Perhaps this helps, some:
>>> class D(A,B):
def __init__(self):
self.doit()
def doit(self):
print "D"
super(D, self).doit()
>>> d=D()
D
A
>>> class E(A,B):
def __init__(self):
B.doit(self)
>>> e=E()
B
>>>
Best,
Brian vdB
_______________________________________________
Tutor maillist - [email protected]
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor