1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
# file: runme.py
# This file illustrates the cross language polymorphism using directors.
import example
# CEO class, which overrides Employee::getPosition().
class CEO(example.Manager):
def __init__(self, name):
example.Manager.__init__(self, name)
def getPosition(self):
return "CEO"
def __del__(self):
print "CEO.__del__(),", self.getName()
# for proxy class extensions that are not "disowned" and
# define a __del__ method, it is very important to call the
# base class __del__. otherwise the c++ objects will never
# be deleted.
example.Manager.__del__(self)
e = CEO("Alice")
m = example.convert_to_Manager(e)
print m
|