at code level you can do:
lass MyClass(models.Model):
...
def get_pdf(self,...):
# here you can do stuff before call overriden method of parent
res = super(MyClass,self).get_pdf(...)
# OR do stuff after calling method of superclass...
#function of parent class called, in res you've result, do your stuff here...
return res.
at module level, you've to arrange dependencies in __openerp__.py files,
module_a (first module) depends: ['whatever']
module_b (second one) depends: ['module_a']
note: do not add in dependency list in module_b modules that are listed already in dependency list of module_a and so on.