Skip to content

Instantly share code, notes, and snippets.

@kaotika
Created February 25, 2015 18:13
Show Gist options
  • Save kaotika/fe9137c884b611b0d556 to your computer and use it in GitHub Desktop.
Save kaotika/fe9137c884b611b0d556 to your computer and use it in GitHub Desktop.
Multiple Inheritance
#class KwargsInit(object):
#def __init__(self, *args, **kwargs):
## Don't call super() here, it breaks things in python2.6
#pass
#class Mixin1(KwargsInit):
#def __init__(self, keyword1=None, **kwargs):
#super(Mixin1, self).__init__(**kwargs)
#self.keyword1 = keyword1
#class Mixin2(KwargsInit):
#def __init__(self, keyword2=None, **kwargs):
#super(Mixin2, self).__init__(**kwargs)
#self.keyword2 = keyword2
#class Mixed(Mixin1, Mixin2):
#def __init__(self, keyword1=None, keyword2=None, **kwargs):
#super(Mixed, self).__init__(keyword1=keyword1, keyword2=keyword2,
#**kwargs)
class Mixin1(object):
def __init__(self, keyword1=None):
self.keyword1 = keyword1
def doStuff(self):
print "Mixin1 stuff"
class Mixin2(object):
def __init__(self, keyword2=None):
self.keyword2 = keyword2
def doStuff(self):
print "Mixin2 stuff"
class Mixed(Mixin1, Mixin2):
def __init__(self, keyword1=None, keyword2=None):
Mixin1.__init__(self, keyword1=keyword1)
Mixin2.__init__(self, keyword2=keyword2)
def doStuff(self):
Mixin1.doStuff(self)
Mixin2.doStuff(self)
print "mixed stuff"
m = Mixed("hallo", "Peter")
print m.keyword1, m.keyword2
m.doStuff()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment