 | |
Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum |
[Malchiodi] Spiegazioni Clicca QUI per vedere il messaggio nel forum |
Skioda86 |
Qualche giorno fa ho inviato una mail di spiegazioni al professor Dario Malchiodi. Con mio Stupore ha risposto prontamente e vi riporto di seguito il colloquio avuto:
> Le scrivo per porLe dei quesiti che mi sono sorti durante lo
> svolgimento del progetto MyLenguage valido per gli appelli di Febbraio
> e Aprile.
> I miei quesiti erano 3:
> - Per quale motivo devo creare il metodo 'abstract Object clone()' se
> poi non lo si utilizza in nessuna classe?
Non c'è scritto esplicitamente dove utilizzarlo, ma questo non
significa che non vada utilizzato...
leggi bene qual'è il compito attribuito al metodo clone() e poi rileggi
tutto il testo del progetto
fino a che non trovi i punti in cui IMPLICITAMENTE viene chiesto di
usarlo.
> - Per quale assurdo (dico io) motivo in classi come
> Iterazione,Selezione... passa come argomenti al costruttore delle
> classi un oggetto Istruzione se la classe Istruzione è astratta e
> quindi non può essere istanziata?
Beh, le due cose non sono assolutamente incompatibili. Verifica di
conoscere bene gli argomenti
spiegati durante il corso, utilizzando come riferimento il contenuto
delle slide e studiando sul libro
di testo, e vedrai come la cosa sia possibile.
> - Cosa intende Lei con la parola 'esegui'? La usa molte volte in molti
> metodi 'esegui()', ma non sono mai riuscito a capire in fondo il suo
> significato. Cosa vuoLe che si faccia? Che la si stampi a video?
> Perchè proprio non saprei! Anche perchè il metodo 'esegui()' ritorna
> un void e quindi non capisco proprio cosa intende.
Beh, le varie classi Selezione, Iterazione, Incrementa, Stampa (giusto
per fare un esempio, ma ce
ne sono altre) descrivono delle istruzioni. L'esecuzione di ogni
istanza di queste classi comporta
che "succeda" qualche cosa: ad esempio quando viene eseguita
un'istruzione della classe Stampa
verrà stampato un messaggio a video, e quando viene eseguita
un'istruzione della classe Incrementa
il contenuto di una variabile verrà incrementato. Nel testo del
progetto è chiaramente scritto cosa deve
succedere ogni volta che si chiama il metodo esegui() su un'istanza di
una particolare classe.
> SPERO CHE LEI MI RISPONDA AL PIU' PRESTO PER CHIARIRE QUESTI DUBBI
> CHE NON SONO SOLO DA PARTE MIA, MA VENGONO ESTESI DALLA MAGGIOR PARTE
> DELLA CLASSE.
Per essere sincero è la prima volta che ricevo domande di questo tipo.
In ogni caso se altri tuoi
colleghi hanno dubbi simili ti autorizzo a inoltrare loro questo
messaggio. Resta inteso che, a
parte consgli su questioni di carattere generale, l'implementazione
deve essere fatta in modo
originale dai singoli gruppi.
> P.S= Volevo informarla che diversi link sul sito internet
> http://homes.dsi.unimi.it/~malchiod non sono funzionanti.
Grazie per la segnalazione. In questi giorni ho risistemato il sito.
Ora i link della home-page di
mia pertinenza dovrebbero puntare a indirizzi esistenti.
Saluti,
Dario Malchiodi |
Skioda86 |
:!:
Ovviamente se qualcuno volesse ribadire i concetti e spiegare meglio i quesiti posti...LIBERISSIMO DI FARLO!!!!! ANZI....:D:D:D:pc: |
spenk.85 |
Come da richiesta...
Sul primo e il secondo quesito ci sto lavorando anche io...
Per quanto riguarda l'esecuzione mi sembra che il Malchiodi sia stato chiaro...ogni istruzione(Selezione,Iterazione etc) deve essere realmente eseguita in java!
Se leggete il main riuscirete a togliervi qualche dubbio!
Almeno a me è successo così! |
Urborg_team |
> - Per quale assurdo (dico io) motivo in classi come
> Iterazione,Selezione... passa come argomenti al costruttore delle
> classi un oggetto Istruzione se la classe Istruzione è astratta e
> quindi non può essere istanziata?
visto che le istruzioni che l'utilizzatore di questa classe ti può passare sono diverse (Dichiara, Assegna, Incrementa, Decrementa, Selezione ecc..). l'argomento passato è una generica istruzione.
infatti è possibile fare una dichiarazione del tipo
Istruzione i;
i=new Dichiara("nome della variabile");
oppure
Istruzione k;
k=new Sequenza(array di istruzioni ecc...); |
Lyanne |
[QUOTE][i]Originally posted by Skioda86
Le scrivo per porLe dei quesiti che mi sono sorti durante lo
> svolgimento del progetto MyLenguage valido per gli appelli di Febbraio
> e Aprile.
> I miei quesiti erano 3:
> - Per quale motivo devo creare il metodo 'abstract Object clone()' se
> poi non lo si utilizza in nessuna classe?
> - Per quale assurdo (dico io) motivo in classi come
> Iterazione,Selezione... passa come argomenti al costruttore delle
> classi un oggetto Istruzione se la classe Istruzione è astratta e
> quindi non può essere istanziata?
.
> - Cosa intende Lei con la parola 'esegui'? La usa molte volte in molti
> metodi 'esegui()', ma non sono mai riuscito a capire in fondo il suo
> significato. Cosa vuoLe che si faccia? Che la si stampi a video?
> Perchè proprio non saprei! Anche perchè il metodo 'esegui()' ritorna
> un void e quindi non capisco proprio cosa intende.
[QUOTE]
Allora, in my opinion,
la classe object clone() viene ereditata da tutte le classi e quindi usata. ritorna una copia dell'oggetto.
La classe istruzione può essere istanziata. Adesso stare a spiegarlo è un po' lungo, ma se vuoi poi ti posso mandare per PM la spiegazione.
con esegui() si intende ciò a cui una classe serve. esempio: la classe StampaVariabile serve evidentemente a stampare la variabile quindi esegui() ti dice soltanto che devi fare in modo che stampi a video la variabile....
Ripeto, c'è scritto praticamente tutto sui fogli, leggili bene e molte cose ti saranno più chiare.
Secondo: potrei anche sbagliarmi... Sono un essere umano, dopotutto;) |
sandrino83 |
ma programma.java ve lo esegue? a me lo compila senza problemi ma in esecuzione mi dà un errore alla riga 6 quando cerca di prelevate un intero dall'array arg[], nella posizine 0.............voi che ne pensate? |
|
|
|
|