Thanks Andy, Ganaraj for your feedbacks.
That is one of the points: it would feel like a hack.
We have a custom directive (wrapping a 3rd party jQuery plugin).
For some usage, this directive is ok.
Then there are some other special use cases, and stuffing more behaviours into that directive seems wrong.
So there you have it: typical needs for a derived class:
It has most of the same behaviours, and then some more. Composition does not fit, I think. Nor does service injection.
Also the link function, does not need to be totally overridden, but just in some points (think of template method pattern).
So the best way seems to be inheritance.
Maybe there's a simpler way to gain this result, but it feels wrong to me that we should copy, paste and slightly change the link function, or whatever other function needed for the directive.
Any thoughts on such a simpler way?