javacomelava
06-06-2009, 15:32
salve...vorrei porgere alla vostra attenzione un piccolo quesito.
Allora....ho una variabile Object,in cui a run time verrà inserito un certo Oggetto.
Mettiamo caso che l'oggetto inserito a run time sia un "ARTICOLO",la cui interfaccia è le seguente:
public class Articolo{
private String nome;
private int costo;
private int codice;
private static int quanti=0;
public Articolo(String n,int c){
nome=n;
costo=c;
codice=quanti;
quanti++;
}
public String getNome(){
}
public int getCosto(){
}
....
....
é facile notare che le variabili di istanza sono tre,ma il costruttore prende solo i primi due parametri per costruire un'articolo,ovvero nome e costo.
L'attribuzione del codice,per far si che ogni articolo abbia un identificativo diverso,è realizzato attraverso l'uso di una variabile di classe,che verrà posta uguale alla variabile di istanza codice ed incrementata di una unità.
Veniamo al punto:
se volessi costruire un Articolo a run time,facendo uso di newInstance() di Class,memorizzerei:
1. i campi col metodo getField() di Class
2. i costruttori di Articolo con getConstructors() di Class
Il problema sta qui: con getField() prenderei anche il campo codice,che è una variabile di istanza,però il costruttore di Articolo prende solo due parametri,in quanto codice è settata automaticamente grazie alla variabile di classe quanti.
Qualcuno ha qualche suggerimento su come fare a risolvere questo problemino??
Spero di essere stato chiaro.
Saluti :D
Allora....ho una variabile Object,in cui a run time verrà inserito un certo Oggetto.
Mettiamo caso che l'oggetto inserito a run time sia un "ARTICOLO",la cui interfaccia è le seguente:
public class Articolo{
private String nome;
private int costo;
private int codice;
private static int quanti=0;
public Articolo(String n,int c){
nome=n;
costo=c;
codice=quanti;
quanti++;
}
public String getNome(){
}
public int getCosto(){
}
....
....
é facile notare che le variabili di istanza sono tre,ma il costruttore prende solo i primi due parametri per costruire un'articolo,ovvero nome e costo.
L'attribuzione del codice,per far si che ogni articolo abbia un identificativo diverso,è realizzato attraverso l'uso di una variabile di classe,che verrà posta uguale alla variabile di istanza codice ed incrementata di una unità.
Veniamo al punto:
se volessi costruire un Articolo a run time,facendo uso di newInstance() di Class,memorizzerei:
1. i campi col metodo getField() di Class
2. i costruttori di Articolo con getConstructors() di Class
Il problema sta qui: con getField() prenderei anche il campo codice,che è una variabile di istanza,però il costruttore di Articolo prende solo due parametri,in quanto codice è settata automaticamente grazie alla variabile di classe quanti.
Qualcuno ha qualche suggerimento su come fare a risolvere questo problemino??
Spero di essere stato chiaro.
Saluti :D