Pages: [1]   Go Down
Print
Author Topic: UML rombo colorato e non  (Read 1288 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
Cerberus
Matricola
*
Offline Offline

Posts: 41


« on: 24-09-2011, 15:28:22 »

Salve ragazzi, volevo sapere se qualcuno è in grado di spiegarmi kosa vuol dire il rombo con la freccia tra due classi..
E se per cortesia potete dirmi come si traduce in codice JAVA

come ad esempio la freccia normale --> si traduce in extends.

esempio:

Link Immagine

Grazie mille 
Logged
ɹǝǝuıƃuǝsɹǝʌǝɹ
Administrator
God of the Forum
*****
Offline Offline

Gender: Male
Posts: 4.474


Più grande è la lotta, e più è glorioso il trionfo


WWW
« Reply #1 on: 24-09-2011, 15:46:25 »

Salve ragazzi, volevo sapere se qualcuno è in grado di spiegarmi kosa vuol dire il rombo con la freccia tra due classi..
E se per cortesia potete dirmi come si traduce in codice JAVA

come ad esempio la freccia normale --> si traduce in extends.

esempio:

Link Immagine

Grazie mille  
Per prima cosa, quella che tu chiami "freccia normale" dovrebbe in realtà essere un triangolo con un vertice nella classe madre e dal cui lato opposto a quel vertice escono una o più linee spezzate che terminano in classi figlie (è giusto l'extends).

Quello che chiedi tu, si chiama "composizione" altrimenti detta "aggregazione forte", e denota il fatto che una istanza della classe in cui è presente il rompo "si compone integralmente" di una istanza della classe dove termina la linea.

Tipo il corpo umano (classe col rombo) si compone della classe cuore (ove termina il rombo). L'aggregazione forte implica che una volta che muore l'istanza della classe col rombo, muore pure l'istanza della classe ove terminava e che la componeva, cioè che sono fortemente legate, nella buona e nella cattiva sorte, in salute e in malattia, finché morte garbage collection (o per meglio dire mancanza di riferimenti ad essi) non li separi boh.
Logged

La grande marcia della distruzione mentale proseguirà. Tutto verrà negato. Tutto diventerà un credo. È un atteggiamento ragionevole negare l'esistenza delle pietre sulla strada; sarà un dogma religioso affermarla. È una tesi razionale pensare di vivere tutti in un sogno; sarà un esempio di saggezza mistica affermare che siamo tutti svegli. Accenderemo fuochi per testimoniare che due più due fa quattro. Sguaineremo spade per dimostrare che le foglie sono verdi in estate. Non ci resterà quindi che difendere non solo le incredibili virtù e saggezze della vita umana, ma qualcosa di ancora più incredibile: questo immenso, impossibile universo che ci guarda dritto negli occhi. Combatteremo per i prodigi visibili come se fossero invisibili. Guarderemo l'erba e i cieli impossibili con uno strano coraggio. Saremo tra coloro che hanno visto eppure hanno creduto.

In tutto, amare e servire.

  
                            ن                           
I can deal with ads,
I can deal with buffer,
but when ads buffer
I suffer...

...nutrimi, o Signore, "con il pane delle lacrime; dammi, nelle lacrime, copiosa bevanda...

   YouTube 9GAG    anobii  S  Steam T.B.o.I. Wiki [univ] Lezioni private  ʼ  Albo d'Ateneo Unicode 3.0.1
Usa "Search" prima di aprire un post - Scrivi sempre nella sezione giusta - Non spammare - Rispetta gli altri utenti - E ricorda di seguire il Regolamento
Cerberus
Matricola
*
Offline Offline

Posts: 41


« Reply #2 on: 24-09-2011, 15:57:06 »

Quote
Per prima cosa, quella che tu chiami "freccia normale" dovrebbe in realtà essere un triangolo con un vertice nella classe madre e dal cui lato opposto a quel vertice escono una o più linee spezzate che terminano in classi figlie (è giusto l'extends).

Quello che chiedi tu, si chiama "composizione" altrimenti detta "aggregazione forte", e denota il fatto che una istanza della classe in cui è presente il rompo "si compone integralmente" di una istanza della classe dove termina la linea.

Tipo il corpo umano (classe col rombo) si compone della classe cuore (ove termina il rombo). L'aggregazione forte implica che una volta che muore l'istanza della classe col rombo, muore pure l'istanza della classe ove terminava e che la componeva, cioè che sono fortemente legate, nella buona e nella cattiva sorte, in salute e in malattia, finché morte garbage collection (o per meglio dire mancanza di riferimenti ad essi) non li separi boh.

LoL ottima metafora, ma non ho ben capito come tradurlo in codice, appunto  
Logged
ɹǝǝuıƃuǝsɹǝʌǝɹ
Administrator
God of the Forum
*****
Offline Offline

Gender: Male
Posts: 4.474


Più grande è la lotta, e più è glorioso il trionfo


WWW
« Reply #3 on: 24-09-2011, 16:15:19 »

LoL ottima metafora, ma non ho ben capito come tradurlo in codice, appunto  
Praticamente questa cosa si capisce meglio in linguaggi tipo C++, ove c'è distinzione tra variabile di tipo puntatore a oggetto (cioè tutte quelle che si riferiscono a oggetti in Java, sono tutte di questo tipo) e variabili oggetto loro stesse.

In C++ puoi usare due scritture diverse per istanziare oggetti:
Code:
NomeClasse* nomeoggetto = new NomeClasse ();
che fa quello che tu conosci già da Java, e anche:
Code:
NomeClasse nomeoggetto ();
che crea un oggetto di tipo/classe NomeClasse e che viene distrutto (realmente distrutto) non appena il campo di visibilità in cui esso è stato creato termina, ad esempio in questo codice C++:
Code:
int metodo (int a) {
    if (a == 1)
    {
        MiaClasse miooggetto (a + 2); //qui mio oggetto inizia a esistere
        miooggetto.metodo (3 - a);
    } //a questo punto del codice, miooggetto muore e viene distrutto letteralmente, anche dalla memoria allocata
}
In Java la composizione la puoi rendere istanziando l'oggetto componente in uno dei costruttori ed evitando che il riferimento a quell'oggetto passi ad altri oggetti esterni alla classe (perché finché quell'oggetto sarà referenziato, continuerà ad esistere).
Più importante del fatto che l'oggetto componente debba per forza morire (e non essere mantenuto da dentro altri oggetti come riferimento), è il fatto che l'oggetto DEVE esistere fintanto che l'oggetto che lo ha come componente è ancora in vita, cioè il riferimento d della classe B del tuo esercizio non dovrà MAI contenere il valore null (se non prima dell'esecuzione del costruttore ovviamente boh).
Logged

La grande marcia della distruzione mentale proseguirà. Tutto verrà negato. Tutto diventerà un credo. È un atteggiamento ragionevole negare l'esistenza delle pietre sulla strada; sarà un dogma religioso affermarla. È una tesi razionale pensare di vivere tutti in un sogno; sarà un esempio di saggezza mistica affermare che siamo tutti svegli. Accenderemo fuochi per testimoniare che due più due fa quattro. Sguaineremo spade per dimostrare che le foglie sono verdi in estate. Non ci resterà quindi che difendere non solo le incredibili virtù e saggezze della vita umana, ma qualcosa di ancora più incredibile: questo immenso, impossibile universo che ci guarda dritto negli occhi. Combatteremo per i prodigi visibili come se fossero invisibili. Guarderemo l'erba e i cieli impossibili con uno strano coraggio. Saremo tra coloro che hanno visto eppure hanno creduto.

In tutto, amare e servire.

  
                            ن                           
I can deal with ads,
I can deal with buffer,
but when ads buffer
I suffer...

...nutrimi, o Signore, "con il pane delle lacrime; dammi, nelle lacrime, copiosa bevanda...

   YouTube 9GAG    anobii  S  Steam T.B.o.I. Wiki [univ] Lezioni private  ʼ  Albo d'Ateneo Unicode 3.0.1
Usa "Search" prima di aprire un post - Scrivi sempre nella sezione giusta - Non spammare - Rispetta gli altri utenti - E ricorda di seguire il Regolamento
Cerberus
Matricola
*
Offline Offline

Posts: 41


« Reply #4 on: 24-09-2011, 19:38:53 »

grazie 1000 ...
Logged
Pages: [1]   Go Up
Print
Jump to: