| # 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 |