Diciamo che ho una classe che rappresenta un composto chimico
class Compound(networkx.Graph):
def __init__(self):
super(Compound, self).__init__()
E diciamo che voglio aggiungere alcune funzionalità extra su un composto chimico. Probabilmente dovrebbe ereditare da Compound. Ma va bene usarlo solo come wrapper per Compound? Ad esempio
class Acid(Compound):
def __init__(self, compound, *other_data):
self.__dict__.update(compound.__dict__)
Fondamentalmente, questa classe ha solo dei puntatori alla classe sottostante e quindi mi consente di aggiungere funzionalità senza dover copiare le cose. ha senso? È ragionevole? Lo sto facendo anche nel modo giusto?