instanssi

Miten luodaan objektista useampi instannsi niin että niitä voidaan käyttää samaan aikaan???
4359
Äänestä

Muut lukivat myös

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..

Äänestä
  • 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

    Äänestä

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.

Äänestä
  • Juuri näin

    Äänestä

Kommentoi aloitusta


peperoni kirjoitti:

Miten luodaan objektista useampi instannsi niin että niitä voidaan käyttää samaan aikaan???

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu