If you're to respect the principle of encapsulation, the interaction would purely be between A
and B
. The fact that B
's implementation uses inheritance is of no concern to the code written in A
- it's sole world view is that it calls the method on B
.
You can safely change the implementation in B
and not affect A
. This is another reason to diagram the interactions this way.