Altro Molte istanze di una classe

Stato
Discussione chiusa ad ulteriori risposte.

iNabbo

Utente Electrum
21 Novembre 2014
260
54
11
160
In un qualsiasi linguaggio orientato agli oggetti come faccio a creare molte istanze della stessa classe e a richiamare i metodi di ogni instanza?
Grazie.
 
Se la classe si chiama "ClassA":
Codice:
ClassA object1 = new ClassA();
ClassA object2 = new ClassA();
ClassA object3 = new ClassA();

object1.func();
object2.func();
object3.func();
Se ne devi creare tante puoi usare un array di istanze:
Codice:
ClassA arr_obj[10];
for (int i = 0; i < 10; i++)
    arr_obj[i] = new ClassA();

arr_obj[0].func();
arr_obj[1].func();
....
O se non sai fin da subito quante ne devi fare puoi creare liste dinamiche di istanze (ogni volta che ne crei una nuova la aggiungi alla lista).
 
  • Mi piace
Reazioni: iNabbo
Ultima modifica:
In java per creare piu' oggetti devi fare cosi':

Java:
testvari test //qui stai dichiarando
test = new testvari(); //ora hai anche istanziato l oggetto test
testvari test2 = new testvari(); //dichiarato ed istanziato l oggetto test 2
testvari test3 = new testvari(); //dichiarato ed istanziato l oggetto test 3
poi ad ognuna puoi aggiungere un int/char/stringa con stesso nome ma valore differente:

Java:
public class testvari {
  
        public int x;
        public String s;

        public static void main(String[] args) {
          
            testvari test = new testvari();
            testvari test2 = new testvari();
            testvari test3 = new testvari();
            testvari test4 = new testvari();
            test3.x = 12;
            test2.x = 21;
            test.s = "ciao";
            test4.s = "addio";
        }
}
 
Se la classe si chiama "ClassA":
Codice:
ClassA object1 = new ClassA();
ClassA object2 = new ClassA();
ClassA object3 = new ClassA();

object1.func();
object2.func();
object3.func();
Se ne devi creare tante puoi usare un array di istanze:
Codice:
ClassA arr_obj[10];
for (int i = 0; i < 10; i++)
    arr_obj[i] = new ClassA();

arr_obj[0].func();
arr_obj[1].func();
....
O se non sai fin da subito quante ne devi fare puoi creare liste dinamiche di istanze (ogni volta che ne crei una nuova la aggiungi alla lista).
Grazie, appena posso lo provo.
In java per creare piu' oggetti devi fare cosi':

Java:
testvari test //qui stai dichiarando
test = new testvari(); //ora hai anche istanziato l oggetto test
testvari test2 = new testvari(); //dichiarato ed istanziato l oggetto test 2
testvari test3 = new testvari(); //dichiarato ed istanziato l oggetto test 3
poi ad ognuna puoi aggiungere un int/char/stringa con stesso nome ma valore differente:

Java:
public class testvari {
  
        public int x;
        public String s;

        public static void main(String[] args) {
          
            testvari test = new testvari();
            testvari test2 = new testvari();
            testvari test3 = new testvari();
            testvari test4 = new testvari();
            test3.x = 12;
            test2.x = 21;
            test.s = "ciao";
            test4.s = "addio";
        }
}
A me serviva sapere come crearne molte senza scrivere centinaia di righe, ma grazie comunque.

Inviata da GT-S7390 tramite app ufficiale di Inforge.net
 
A me serviva sapere come crearne molte senza scrivere centinaia di righe, ma grazie comunque.
Te l'ho detto: se sai già a priori quante sono, puoi usare un array fixed-length di istanze della classe. Se non lo sai a priori le istanzi in memoria dinamica. In entrambi i casi le crei e le utilizzi usando dei cicli. Ovviamente non devi scrivere centinaia di righe.
Se ancora non sai come fare non è un problema di programmazione OO, ma vuol dire che non sai usare array o strutture dinamiche come liste e alberi.

(EDIT: notato ora che era la risposta a Gorate e non a me; lascio comunque il messaggio dato che è pure sempre esplicativo di quanto ho scritto sopra)
 
Stato
Discussione chiusa ad ulteriori risposte.