View Full Version : [JAVA] Come si fanno le relazioni?
maforast
05-04-2006, 20:23
Salve ragazzi è da poco che ho intrapreso la lettura di un manuale java per l'implementazione di un simulatore sulle reti neurali. Il mio problema è la difficoltà nel passare dal diagramma delle classi con le varie relazioni al progettare tali relazione con il codice... per quanto riguarda la relazione di ereditarietà ho capito come si fa tramite extend e chimando il costruttore con la clausula super nella sottoclasse ma per quanto riguarda le altre relazioni tali come associazioni aggregazioni ecc COme si Fa? attraverso kiamate a metodi appartenenti ad altri oggetti? la cosa mi sfugge...
Ad esempio se volessi fare un'associazione tra i neuroni e i collegamenti sinaptici "Neurone usa collegamento sinaptico per connettersi ad un altro neurone" come potrei fare?
Grazie
sottovento
06-04-2006, 07:37
Salve ragazzi è da poco che ho intrapreso la lettura di un manuale java per l'implementazione di un simulatore sulle reti neurali. Il mio problema è la difficoltà nel passare dal diagramma delle classi con le varie relazioni al progettare tali relazione con il codice... per quanto riguarda la relazione di ereditarietà ho capito come si fa tramite extend e chimando il costruttore con la clausula super nella sottoclasse ma per quanto riguarda le altre relazioni tali come associazioni aggregazioni ecc COme si Fa? attraverso kiamate a metodi appartenenti ad altri oggetti? la cosa mi sfugge...
Ad esempio se volessi fare un'associazione tra i neuroni e i collegamenti sinaptici "Neurone usa collegamento sinaptico per connettersi ad un altro neurone" come potrei fare?
Grazie
Ciao
la relazione di utilizzo e' semplicemente la chiamata del relativo metodo.
La relazione di aggregazione si riduce alla dichiarazione di una variabile membro.
La relazione di implementazione (freccia triangolare vuota) la risolvi dichiarando un'interfaccia ed implementandola nella classe da cui la freccia viene spiccata.
Scusa se scrivo "semplicemente" o "si riduce": in realta' i class diagram mettono in luce le relazioni chiave nella progettazione di un sistema, anche se poi spesso, nella programmazione, queste sono le cose piu' semplici e la difficolta' resta altrove....
High Flying
Sottovento
maforast
06-04-2006, 08:13
Ciao
la relazione di utilizzo e' semplicemente la chiamata del relativo metodo.
La relazione di aggregazione si riduce alla dichiarazione di una variabile membro.
La relazione di implementazione (freccia triangolare vuota) la risolvi dichiarando un'interfaccia ed implementandola nella classe da cui la freccia viene spiccata.
Scusa se scrivo "semplicemente" o "si riduce": in realta' i class diagram mettono in luce le relazioni chiave nella progettazione di un sistema, anche se poi spesso, nella programmazione, queste sono le cose piu' semplici e la difficolta' resta altrove....
High Flying
Sottovento
Grazie per la delucidazione però mi hanno sempre insegnato che la parte fondamentale di un progetto software è l'analisi e la progettazione perkè se quella è errata il prodotto software serve poco o nulla per me chiariere queste cose è di fondamentale importanza e visto che c'è una dikiatrazione esplicita per l'ereditarietà pensavo ce ne fosse una anche per gli altri tipi di relazioni cmq c'era andato vicino con la chiamata dei metodi :) per le aggregazioni però ancora non sono convinto
sottovento
06-04-2006, 08:31
Grazie per la delucidazione però mi hanno sempre insegnato che la parte fondamentale di un progetto software è l'analisi e la progettazione perkè se quella è errata il prodotto software serve poco o nulla per me chiariere queste cose è di fondamentale importanza e visto che c'è una dikiatrazione esplicita per l'ereditarietà pensavo ce ne fosse una anche per gli altri tipi di relazioni cmq c'era andato vicino con la chiamata dei metodi :) per le aggregazioni però ancora non sono convinto
Ciao,
non preoccuparti, ti hanno insegnato bene e questo pensiero e' condiviso da tutti. Penso di esser stato frainteso: volevo semplicemente dire che i class diagram ti mostrano SOLO le relazioni. E' un metodo di specifica che si occupa solo di questo, nient'altro (non ti dice nulla, per esempio, sull'implementazione dei metodi delle classi, ...). Naturalmente e' un ottimo strumento, ma ovviamente non puo' far tutto, dipende sempre da cosa vuoi modellizzare.
Per quanto riguarda le aggregazioni... beh, il fatto che non sia convinto significa che hai un cervello e lo sai usare! :)
Ti conviene approfondire il discorso mediante altre fonti...
High Flying
Sottovento
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.