Miten luodaan objektista useampi instannsi niin että niitä voidaan käyttää samaan aikaan???
instanssi
peperoni
4359
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Turvaa tilisi vahvistamalla puhelinnumerosi. Voit silloin palauttaa unohtuneen salasanan tekstiviestillä.
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 4
Vanhimmat
Ilmeisesti jos tosiaan haluat "luoda objektista useamman instanssin" tarvitset käyttää ns. copy constructoreita joilla voit alustaa uuden olion toisen olion tiedoista.
Objekti a = new Objekti("joojoo");
Objekti b = new Objekti(a)
En ole varsinaisesti javamiehiä niin en tiedä tekeekö java ns. "default copy constructoria". Copy constructorin tekeminen on kuitenkin helppoa. Teet vain constructorin joka ottaa parametrinään saman luokan objektin, josta sitten kopioit tarvittavat arvot uuteen objektiin..
Kannattaa katsoa esim. java.lang.Object luokan metodia clone()...
Kloonauksessa (tai kopioinnissa) on kuitenkin muistettava, että ihan kaikkea ei voi kopioida. Tai voi, mutta menee aika vaikeaksi.
Muuttujien arvot on helppo kopioida, mutta mitä tehdään jos muuttujana on viittaus toiseen objektiin, tai jopa "etäobjektiin"? Kopioidaanko vain viittaus vai viittauksen osoittama objekti? Etsi netistä tietoa sanoilla "shallow copy" ja "deep copy".
Katso vaikka: http://www.javaworld.com/javaworld/javatips/jw-javatip76.html
Eiköhän ole niin että objektit ovat luokan instansseja.
java.util.Date nyt=new java.util.Date();
java.util.Date nyt2=new java.util.Date();
nyt on luokan java.util.Date instanssi kuten myös nyt2.
Objektien kloonaus on oma juttunsa.
Juuri näin