.dsy:it. Pages (8): « 1 2 [3] 4 5 6 7 » ... Last »
Show 150 posts per page

.dsy:it. (http://www.dsy.it/forum/)
- Fondamenti di architettura e programmazione (http://www.dsy.it/forum/forumdisplay.php?forumid=234)
-- [HASHTABLE] Help (http://www.dsy.it/forum/showthread.php?threadid=23733)


Posted by zyx on 26-01-2006 20:31:

Scusami se magari sono un po deficiente ma anch'io ciò pensato ma non riesco a creare una classe che istanzio una sola volta, perchè come e quando la istanzio. Il metodo main sui cui devono girare queste classi è stato dato dai prof. E li non esiste nessuna classe che mi permetta di istanziare un classe che crei l'oggetto Hashtable


Posted by Joda on 26-01-2006 20:35:

Originally posted by zyx
Scusami se magari sono un po deficiente ma anch'io ciò pensato ma non riesco a creare una classe che istanzio una sola volta, perchè come e quando la istanzio. Il metodo main sui cui devono girare queste classi è stato dato dai prof. E li non esiste nessuna classe che mi permetta di istanziare un classe che crei l'oggetto Hashtable


ma tu la classe col main quante volte la devi lanciare?

__________________
Homepage personale (English version)
c/o segreteria didattica via comelico


Posted by zyx on 26-01-2006 20:37:

Una volta ma non la creo io. E' stata data nel progetto dicendo che le classi che noi dobbiamo scrivere devono compilare correttamente questa classe main.


Posted by Joda on 26-01-2006 20:43:

Originally posted by zyx
Una volta ma non la creo io. E' stata data nel progetto dicendo che le classi che noi dobbiamo scrivere devono compilare correttamente questa classe main.


No perchè se no se il codice fosse stato modificabile (della classe del metodo main) di fare in modo che il main istanziasse l'hashtable e poi gliela passavi...

__________________
Homepage personale (English version)
c/o segreteria didattica via comelico


Posted by zyx on 26-01-2006 20:49:

Ma dici che se modifico la classe main con questo mio accorgimento e modifico anche tutti i costruttori delle altre classi a prendere come argomento questa variabile di tipo hashtable, non accettano il progetto?


Posted by Joda on 26-01-2006 20:55:

Originally posted by zyx
Ma dici che se modifico la classe main con questo mio accorgimento e modifico anche tutti i costruttori delle altre classi a prendere come argomento questa variabile di tipo hashtable, non accettano il progetto?


bisogna vedere se nel progetto è consentito modificare la classe...

__________________
Homepage personale (English version)
c/o segreteria didattica via comelico


Posted by zyx on 26-01-2006 20:56:

Ma se no secondo te ce qualche altra soluzione???


Posted by Joda on 26-01-2006 21:29:

Leggendo qua :


Classe Istruzione :

La classe dovrà contenere:
la definizione della Hashtable memoria, deputata a contenere i
valori memorizzati nelle variabli, utilizzando come chiave di ricera i
nomi dati alle variabili; attenzione: la definizione di questa hashtable
dovrà essere compatibile con il resto delle definizioni fatte nella
classe, e, soprattutto, dovrà essere fatta in modo da essere leggibile
e scrivibile da tutte le istanze delle classi derivate da Istruzione,
nonché condivisa da queste istanze;


e qua :


Classe Dichiara:

l'implementazione del metodo esegui della superclasse dovrà
essere fatta in modo da inserire nella hashtable della superclasse
una variabile avente nome uguale a quello contenuto in variabile
e inizializzata a 0; il metodo dovrà lanciare l'eccezione
ExistingVariableException qualora l'argomento variabile
identifichi una variabile precedentemente dichiarata;


quindi definirei la Classe Istruzione come astratta ed il metodo clone ed esegui come astratti (come richiesto), definirei sempre e comunque, vedi post precedenti, il metodo costruttore (eventualmente vuoto) e definirei la variabile memoria come segue:

protected Hashtable<String,Integer> memoria = new Hashtable<String,Integer>();

poi definirei la classe Dichiara in modo tale che estenda la classe Istruzione.

public class Dichiara extends Istruzione (come richiesto)

dopo di che nel metodo costruttore (come da regola) metterei come prima istruzione la parola chiave super(); ed implementerei i metodi.

Modificatore protected

E' un modificatore che si può applicare sia ai metodi, che alle variabili. Ha lo scopo di rendere visibile il metodo e/o le variabili a tutte le classi che estendono come super-classe la classe che defisce tali metodi e/o variabili.

P.S. : E' caldamente cosigliato di usarlo solo se necessario e non abusarne.

Joda.

__________________
Homepage personale (English version)
c/o segreteria didattica via comelico


Posted by Reaper on 26-01-2006 21:56:

Originally posted by zyx
Ma dici che se modifico la classe main con questo mio accorgimento e modifico anche tutti i costruttori delle altre classi a prendere come argomento questa variabile di tipo hashtable, non accettano il progetto?


penso che non lo accettimo proprio.. no?


Posted by zyx on 27-01-2006 10:21:

Originally posted by Joda
Leggendo qua :



e qua :



quindi definirei la Classe Istruzione come astratta ed il metodo clone ed esegui come astratti (come richiesto), definirei sempre e comunque, vedi post precedenti, il metodo costruttore (eventualmente vuoto) e definirei la variabile memoria come segue:

protected Hashtable<String,Integer> memoria = new Hashtable<String,Integer>();

poi definirei la classe Dichiara in modo tale che estenda la classe Istruzione.

public class Dichiara extends Istruzione (come richiesto)

dopo di che nel metodo costruttore (come da regola) metterei come prima istruzione la parola chiave super(); ed implementerei i metodi.

Modificatore protected

E' un modificatore che si può applicare sia ai metodi, che alle variabili. Ha lo scopo di rendere visibile il metodo e/o le variabili a tutte le classi che estendono come super-classe la classe che defisce tali metodi e/o variabili.

P.S. : E' caldamente cosigliato di usarlo solo se necessario e non abusarne.

Joda.



Ma così cmq mi crea tanti hashtable per quante sono le classi no?


Posted by Joda on 27-01-2006 10:24:

Originally posted by zyx
Ma così cmq mi crea tanti hashtable per quante sono le classi no?


no.

si creano tanti hastable solo se metti la definizione di hashtable nel metodo costruttore della super classe.

__________________
Homepage personale (English version)
c/o segreteria didattica via comelico


Posted by zyx on 27-01-2006 10:28:

cioe devo fare così:

import java.util.*;

public absract class Istruzione {

protected Hashtable<String,Integer> memoria=new Hashtable<String,Integer>()

....

Intervento del moderatore:
Post "ritoccato", codice eccessivo


Posted by Joda on 27-01-2006 10:35:

Originally posted by zyx
cioe devo fare così:

import java.util.*;

public absract class Istruzione {

protected Hashtable<String,Integer> memoria=new Hashtable<String,Integer>()

...
Intervento del moderatore:
Post "ritoccato", codice eccessivo

}



esatto.

Ricordati i ";" alla fine di dell'istruzione.

__________________
Homepage personale (English version)
c/o segreteria didattica via comelico


Posted by zyx on 27-01-2006 10:50:

C'è lo fatta bisogna dichiarare "Istruzione" come interface e allora funziona. Grazie Joda


Posted by Brk on 27-01-2006 11:03:

Mi spiegheresti perchè devo dichiararla come interfaccia anzichè estendere semplicemente le classi figlie?

Grazie ^^


All times are GMT. The time now is 12:12. Pages (8): « 1 2 [3] 4 5 6 7 » ... Last »
Show all 118 posts from this thread on one page

Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.