Newsgroup: it.comp.lang.c++
Titolo: [OT] Qualcuno mi mostra questo in SI+interface?

 impossibile fare con il modello SI+interface.
Posso provarci io?
Fai tutto anche con la macchina di Turing.
Ma fammi agevolmente questo.
Comunque per esempio:
Ho 3 tabelle sul database:
tab1) codutente descrizione
tab2) codlavoro descrizione
tab3) codutente codlavoro
Per mie pippe mentali desidero.
Class tab1 con membro statico codutente protected
Class tab2 con membro statico codlavoro protected
Class tab3 con membro che deriva da tab1 e tab2
Ora quando in tab3 setto il campo codutente in automatico, visto che
condivido il dato viene settato anche codutente di tab1, visto che abbiamo
nelle classi altri metodi il metodo sniff() di tab1 scopre che codutente e'
cambiato chiama il database ed aggiorna il valore di descrizione.
Ora gentilmente come potrei fare altrettanto agevolmente tutto questo in 
modello SI+interface?
Avrei un'altro punto di vista visto che sono C++ MI amante.
Se puoi rimaniamo nel pseudocodice, mi pare piu' facile.
Sono riuscito a spiegare la struttura?
Ciao

Sono riuscito a spiegare la struttura?
No! :-)

Andrea Laforgia wrote:

Ci riprovo....
Ho 3 tabelle sul database:
tab1) codutente descrizione
tab2) codlavoro descrizione
tab3) codutente codlavoro
Sino a qui ci siamo giusto?
Ora desidero che:
Class tab1 con membro statico codutente protected
Class tab2 con membro statico codlavoro protected
Class tab3 senza proprieta' che deriva da tab1 e tab2 ereditando i membri
statici di tab1 e di tab2
Va meglio?
:D

 statici di tab1 e di tab2
Seguo il "ragionamento", ma non capisco sinceramente che cosa stai 
cercando di dimostrare.  Forse stai cercando di dimostrare che nei 
linguaggi che non supportano eredità multipla di implementazione, 
non è possibile ereditare l'implementazione da più classi, il che 
non mi sembra una grande scoperta ;-)

 non mi sembra una grande scoperta ;-)
No non voglio dimostrare nulla, sono una amante della MI, proprio non riesco
a capire come replicare questa struttura in SI+interface?
Cercavo solo di capire, tutto li.
Hai un'idea o questo e' un caso particolare non replicabile in 
SI+interface?
Ciao e Grazie del tuo aiuto.

 a capire come replicare questa struttura in SI+interface?
Forse non ci capiamo: non puoi pensare di avere eredità multipla 
di implementazione in linguaggi che non supportano l'eredità 
multipla di implementazione.  Nel modello SI+interface si può 
ovviamente arrivare allo stesso risultato, ma devi inventarti un 
altro giro (così su due piedi penso a un possibile contenimento).


Questo esempio non ha senso rispetto alla discussione dell'altro
thread, perche'  quello che descrivi non e' un effetto che si puo'
ottenere con l'ereditarieta' multipla, ma una sua caratteristica.
Cosa ti interessa replicare: il fatto che tab3 puo' accedere sia a
codutente che a codlavoro? Potresti definirli pubblici oppure definire
tab3 come friend di tab1 e tab2. In entrambe i casi e' poi sufficiente
che tab3 contenga un'istanza per ciascuna di tab1 e tab2 per ottenere
un effetto analogo a quello che descrivi. Se poi vuoi anche che tab3
non abbia attributi non hai che passare tab1 e tab2 per parametro dove
ti servono.
Ciao,
Nicola