ça dépend. la première, c'est à dire l'héritage « est implémenté en terme de » est assez sympa? l'autre le, pattern de l'adaptateur (je vais pas dire le mal de que je pense des patterns, mais bon, des gens l'appel comme ça)
à toi de voir ce qui te convient le mieux. la premireè solution est pas mal, notemment quand on veut restreindre une interface (usage massif de directive using)