Est-il possible d'ajouter une classe de base à une instance d'objet (pas une classe !) lors de l'exécution ? Quelque chose dans le sens du fonctionnement de Object#extend
dans Ruby :
class Gentleman(object):
def introduce_self(self):
return "Hello, my name is %s" % self.name
class Person(object):
def __init__(self, name):
self.name = name
p = Person("John")
# how to implement this method?
extend(p, Gentleman)
p.introduce_self() # => "Hello, my name is John"