Je n'ai pas tout compris à ton pb car je ne connais pas le domaine mais mais si j'ai bien compris tu souhaites composer 2 comportements dans une seul classe d'implémentation et séparer leur contrats. Les interfaces (interface en java) et la délégation peuvent répondre à ton pb
Par exemple, tu peux créer un interface AtomHuckelInt qui déclare toutes les opérations liée aux spécificités Huckel des atomes (setHx, ....). Tu crées une classe d'implémentation AtomHuckelImpl qui implémente cette interface.
Tes classe de base (Atom, ..)ne déclarent et n'implémentent que les méthodes de bases.
Tu crées une classe AtomHuckel qui hérite de Atom et qui implemente l'interface AtomHuckelInt.
A l'intérieur, tu encapsules une référence à la classe AtomHuckelImpl (composition=> attribut privé par exemple private AtomHuckelImpl ah) dans l'implémentation des méthodes de l'interface tu délegues le comportement à ta réference privée par simple appel de méthode ( ah.setHx() )
# Interface
Posté par Bozo_le_clown . En réponse au message dériver une classe conteneur de données de classe dérivée. Évalué à 3.
Par exemple, tu peux créer un interface AtomHuckelInt qui déclare toutes les opérations liée aux spécificités Huckel des atomes (setHx, ....). Tu crées une classe d'implémentation AtomHuckelImpl qui implémente cette interface.
Tes classe de base (Atom, ..)ne déclarent et n'implémentent que les méthodes de bases.
Tu crées une classe AtomHuckel qui hérite de Atom et qui implemente l'interface AtomHuckelInt.
A l'intérieur, tu encapsules une référence à la classe AtomHuckelImpl (composition=> attribut privé par exemple private AtomHuckelImpl ah) dans l'implémentation des méthodes de l'interface tu délegues le comportement à ta réference privée par simple appel de méthode ( ah.setHx() )
Voici 2 liens qui explique le fonctionnement
http://www.artima.com/designtechniques/compoinh.html
En espérant ne pas avoir tapé à coté du sujet.