Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako da kreiram objekat dinamicki?

[es] :: Java :: Kako da kreiram objekat dinamicki?

Strane: 1 2

[ Pregleda: 6256 | Odgovora: 37 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

bild-studio
Zaimovic Tarik
IT Project Manager
Podgorica

Član broj: 138258
Poruke: 90
*.crnagora.net.

Sajt: www.bild-studio.com


Profil

icon Kako da kreiram objekat dinamicki?24.03.2008. u 15:54 - pre 195 meseci
Recimo imam klasu A i Klasu B i klasu Test:

Code:

public class A {

}

public class B {

}

public class Test {

public static void main(String[] args) {

        A ob1 = new B ();
                A ob2 = new B ();
                A ob3 = new B ();
                A ob4 = new B ();
    

    }
}


E hocu sad mesto objekata obj1, obj2, obj3 da napravim jedan objekat recimo ob i stavim ga u neku petlju while ili for nebino, i da mi u zavisnosti koliko ja hocu iteracija da napravi toliko objekata ali po nekom pravilu koje mu ja zadam. Recimo za svaki naredni dodaj mu "a" ili 1 itd...

Primer:

Code:

for (int i = 0; i <brojObjekata; i++) {
A ob = new B (); // Stim sto bi na ovo ob dodavalo neki string kao sto sam gore naveo
}


Necu da radim preko listi i nizova znam da tako moze ali nije to to...

Radio sam ovu foru sa PHP om i radi izvrsno samo na ob dodam ".i" i radi fenomenalno. Prerovio sam citav net i naisao na iste probleme kod drugih sto su postovali isti problem ali niko nije resio konkretno ovaj problem.

Strasno bih bio zahvalan kad bi mi se ova "nocna mora" od problema resila.

Unaprijed zahvalan!
 
Odgovor na temu

grizzly
Beograd

Član broj: 7978
Poruke: 262



+4 Profil

icon Re: Kako da kreiram objekat dinamicki?24.03.2008. u 18:19 - pre 195 meseci
Mozda si prevideo, ali da bi napisao A obj = new B(), klasa B mora da nasledjuje klasu A.

Kao sto si se uverio "obj.i" gde je i brojac ne moze, a i da moze u ovom tvom kodu promenljive koje deklarises u for petlji ti nece postojati izvan te petlje.

Ja bih stavio u niz al' nije to to...
 
Odgovor na temu

bild-studio
Zaimovic Tarik
IT Project Manager
Podgorica

Član broj: 138258
Poruke: 90
*.crnagora.net.

Sajt: www.bild-studio.com


Profil

icon Re: Kako da kreiram objekat dinamicki?24.03.2008. u 18:53 - pre 195 meseci
Netreba da nasledjuje, mada to nije ni bitno toliko koliko ova sustina problema, evo jos uvek pokusavam da resim taj ****ni problem. Ima li iko resenje a da NAGLASIO sam ne preko nizova ili lista ili bilo cega slicno tome.
 
Odgovor na temu

nemnesic
nemnesic
Software Developer
Vranje Florida

Moderator
Član broj: 44355
Poruke: 802
*.sfcc.edu.



+64 Profil

icon Re: Kako da kreiram objekat dinamicki?24.03.2008. u 19:06 - pre 195 meseci
probaj ovo:

http://java.sun.com/docs/books/tutorial/reflect/index.html

Code:

Class cls = Class.forName("ArrayList");
Constructor c = cls.getConstructor(null);  
/*
If you want some other constructor 
you have to specify the signature as an array of Class objects
*/
 
Object obj = c.newInstance(null);
/*
If this is not the default constructor you should
provide the arguments as an array of objects
*/
 


ne zaboravi
Code:

java.lang.Class
java.lang.reflect.*


preuzeo od:
http://forum.java.sun.com/thre...D=786322&messageID=4468783
 
Odgovor na temu

bild-studio
Zaimovic Tarik
IT Project Manager
Podgorica

Član broj: 138258
Poruke: 90
77.222.8.*

Sajt: www.bild-studio.com


Profil

icon Re: Kako da kreiram objekat dinamicki?24.03.2008. u 20:21 - pre 195 meseci
Evo provaljujem kako radi... Javljam se ako uspje, meni se cini da je to to, nisam siguran cim testiram javljam se. Hvala u svakom slucaju!
 
Odgovor na temu

bild-studio
Zaimovic Tarik
IT Project Manager
Podgorica

Član broj: 138258
Poruke: 90
77.222.8.*

Sajt: www.bild-studio.com


Profil

icon Re: Kako da kreiram objekat dinamicki?24.03.2008. u 20:46 - pre 195 meseci
Pogledao sam ovo ali ponovo nema (ili ja ne umijem da nadjem) ono sto mi treba. Treba mi npr:

Code:


import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;


public class Test {

    /**
     * @param args
     * @throws NoSuchMethodException 
     * @throws SecurityException 
     * @throws ClassNotFoundException 
     * @throws InvocationTargetException 
     * @throws IllegalAccessException 
     * @throws InstantiationException 
     * @throws IllegalArgumentException 
     */
    public static void main(String[] args) throws SecurityException, NoSuchMethodException, ClassNotFoundException, IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException {
        
        Class cls = Class.forName("B");
         
        Constructor c = cls.getConstructor(null);  
        

        //Object obj = c.newInstance();
        
        //System.out.println(obj);
        
        for (int i = 0; i < 5; i++) {
            
            Object obj = c.newInstance(); // Da dam ime novog objekta dinamicki Kako to izvesti?? 
            //B b = new B ();
            
        }
        
        

    }

}

-------------------------------------------------------------


public class B {
    
    public String ime = "Bild Studio";
    
    public B() {
        System.out.println("ALOOOOOOOOOOOOOOOOO");
    }
    
    @Override
    public String toString() {
        // TODO Auto-generated method stub
        return ime;
    }
}






Pokusavao sam ponovo konkretno na ovom primeru, ali nemam prestave kako da dinamicki dodjelim ime recimo obj1, obj2, obj3... Ali da ne koristim niz.... ili listu...
 
Odgovor na temu

grizzly
Beograd

Član broj: 7978
Poruke: 262



+4 Profil

icon Re: Kako da kreiram objekat dinamicki?24.03.2008. u 21:19 - pre 195 meseci
Ja sam shvatio da ti hoces da napravis grupu objekata za koju se ne zna kolika je a jedino sto ih vezuje je zajednicki prefix, znaci


obj1

obj2

obj3

itd...

U jednom trenutku ucenja jave sam i ja ovo hteo da uradim ali sam ubrzo odustao. Ja ne vidim nacin da ovo uradis...

P.S. Ovo sam napisao jer mi se cini da nemnesic nije razumeo sta ti hoces.
 
Odgovor na temu

bild-studio
Zaimovic Tarik
IT Project Manager
Podgorica

Član broj: 138258
Poruke: 90
77.222.8.*

Sajt: www.bild-studio.com


Profil

icon Re: Kako da kreiram objekat dinamicki?24.03.2008. u 21:33 - pre 195 meseci
Znaci ne postoji nacin da se resi ovaj problem???

Ima li neka druga alternativa?
 
Odgovor na temu

augustus
Novi Sad - Beograd

Član broj: 101581
Poruke: 358
*.dynamic.sbb.co.yu.



+46 Profil

icon Re: Kako da kreiram objekat dinamicki?24.03.2008. u 21:47 - pre 195 meseci
Mozda i ima ako bi pojasnio sta ti u stvari hoces da uradis. Sve sto si rekao je NE MOZE niz. Zasto ne?
"Čovek je biće koje se na sve navikava, i ja mislim da je ovo njegova najbolja definicija."
Fjodor M. Dostojevski
 
Odgovor na temu

bags

Član broj: 10072
Poruke: 715
*.5.14.univie.teleweb.at.



+2 Profil

icon Re: Kako da kreiram objekat dinamicki?24.03.2008. u 22:04 - pre 195 meseci
Opisi detaljnije za sta ti to treba i zasto ne smijes koristiti neku kolekciju.
Sem toga ovo sto ti pokusavas da uradis krsi se sa nekim pravilima o lijepom programiranju. :)

EDIT: Nije dobro resenje sto sam postovao plus nemoguce je to uraditi u javi.
Free advice is seldom cheap.
 
Odgovor na temu

bild-studio
Zaimovic Tarik
IT Project Manager
Podgorica

Član broj: 138258
Poruke: 90
77.222.8.*

Sajt: www.bild-studio.com


Profil

icon Re: Kako da kreiram objekat dinamicki?24.03.2008. u 22:18 - pre 195 meseci
Code:


public class Main  {
    
   public static void main(String[] args) {

        PlayerImpl p1 = new PlayerImpl();
        GameImpl g1 = new GameImpl();
        
        Factory pf = new PlayerFactory();
          Player p1 = (Player) pf.create(); 
        Player p2 = (Player) pf.create();
        
                p1.setName("Tarik");
        p2.setName("Danilo");
        
        Factory gf = new GameFactory();
        Game g1 = (Game) gf.create();
        Game g2 = (Game) gf.create(); 
        g1.setName("Tetris");
        g2.setName("Pucanje");
        
        
        
        //dajem imena igrama
        
        
            p1.getGames().add(g1);
            p1.getGames().add(g2);
            
            
            g1.getPlayer().add(p1);
            g1.getPlayer().add(p2);
            
            
            System.out.println(p1.getGames().toString());
        
    }

}




Konkretno za ovaj kod e zamisli kad bi hteo da dodam hiljadu igrica i kad bi hteo da dodam hiljadu igraca onda...
E zanima me kako ja Konkretno iz guia mogu da naredim (hajde napravi mi 10 objekata tipa Game da se zovu:)
g1, g2, g3..... a ovo 1,2,3 da je recimo i u nekoj for petlji jeli ovo izvodljivo ili ne... Znam da cete da kazete radi sa listama ili sa nizom, uradio sam ga na taj nacin ali dusu posle izgubih oko nekih drugih stvari nebi da i vama komplikujem zivot...

E dali je je to moguce... ?
 
Odgovor na temu

bags

Član broj: 10072
Poruke: 715
*.5.14.univie.teleweb.at.



+2 Profil

icon Re: Kako da kreiram objekat dinamicki?24.03.2008. u 23:09 - pre 195 meseci
Nije izvodljivo! :)

Ne mozes davati imena objektima dinamicki.

Ako ti resenje sa kolekcijama ne radi kasnije posao,onda ti taj deo koda nije dobro dizajniran.

Nravno i dalje ti mozemo pomoci,ako opises te kasnije probleme. :)
Free advice is seldom cheap.
 
Odgovor na temu

grizzly
Beograd

Član broj: 7978
Poruke: 262



+4 Profil

icon Re: Kako da kreiram objekat dinamicki?24.03.2008. u 23:55 - pre 195 meseci
Ma sta ne moze? Slusaj sad :)

Napravis program koji puni tvojim kodom fajl NekaKlasa.java gde je poenta da program puni klasu imenima kojim hoces obj1, obj2, itd.

Pre toga si napravio bat fajl koji poziva javac da iskompajlira tu klasu, i kad je napunis pozoves taj bat. Cini mi se da ima u klasi File metoda execute().

A kad se iskompajlira pozoves main metodu te novoiskompajlirane klase.

Al sam se nalupao...
 
Odgovor na temu

zigizig

Član broj: 42968
Poruke: 167
77.46.197.*



+10 Profil

icon Re: Kako da kreiram objekat dinamicki?25.03.2008. u 07:49 - pre 195 meseci
grizzly svaka cast. To vredi probati :)

Inace za sada je jedino resenje da se objekti stave u niz, vektor, listu...
npr.
ClassName[] objectName= new ClassName[4];
for (int i= 0; i < objectName.length; i++)
objectName= new ClassName();

bild-studio ti rece da si sve to probao ali
Citat:
dusu posle izgubih oko nekih drugih stvari nebi da i vama komplikujem zivot

Posto nema drugo resenje verovatno si pogresio negde u postavci zadatka
Ako nam opises te "druge stvari" mozda neko bude u prilici da ti pomogne i ukaze gde si pogresio
 
Odgovor na temu

Java Beograd
Novi Beograd

Član broj: 11890
Poruke: 9517
*.lukoil.co.yu.



+10256 Profil

icon Re: Kako da kreiram objekat dinamicki?25.03.2008. u 10:28 - pre 195 meseci
@Bild studio
Ja sam developer, evo 18 godina. Nema programskih jezika kojima se nisam bavio, a Javom se profesionalno bavim dest godina.

Tvoj zahtev ne samo da nema smisla, nego pokazuje tvoje potpuno nepoznavanje teorije i osnova programiranja i (nemoj da se uvrediš) i tvoj delatantizam i potpuni amaterizam.

Sve i da programski jezik dopušta takve nebuloze, ništa se na taj način, kako si ga ti zamislio ne može bolje rešiti nego korišćenjem nizova. Na primer

Code:

Player pla[] = new Player[n];
pla[0] = new Player('vakav ili onakav);
pla[1] = new Player('vakav ili onakav);
...


I ne samo to, već u modernoj Javi ima još čitav niz lista, vektora, hashtabela i ostalih kolekcija kojma je namena ovo.
Ne pokušavaj da pišeš PHP ili VB kod korišćenjem Java sintakse. Jer to onda nije Java već papazjanija.

Dakle, knjigu u šake, i uči. Thinking in Java (naslov je neverovatno dobar, lukav i tendenciozan), refaktorisanje, objektni dizajn i ostalo.

OTPOR blokadi ulica, OTPOR blokiranom Beogradu, OTPOR blokiranoj Srbiji
 
Odgovor na temu

augustus
Novi Sad - Beograd

Član broj: 101581
Poruke: 358
89.216.31.*



+46 Profil

icon Re: Kako da kreiram objekat dinamicki?25.03.2008. u 10:36 - pre 195 meseci
Uh this hurts :(

usput: papazjanija je jedno veoma ukusno jelo(zecetina u sosu od luka itd.) i nije zahvalno koristiti ga u svrhe opisa gluposti samo zato sto ima asocijativno ime :)
"Čovek je biće koje se na sve navikava, i ja mislim da je ovo njegova najbolja definicija."
Fjodor M. Dostojevski
 
Odgovor na temu

staticInt

Član broj: 66101
Poruke: 485
79.101.184.*



+43 Profil

icon Re: Kako da kreiram objekat dinamicki?25.03.2008. u 10:53 - pre 195 meseci
Java Beograd je 100% upravu, ne valja uciti jezike tako usko, Java je od 98. kad sam ja poceo da se bavim istom veoma napredovala i sada poseduje sve sto vam treba za sta vam god treba, normalno koristi se samo za one stvari za koje je potrebna ali cinjenica jeste da morate prvo da proucite granice Jave i da razumete sta moze a sta ne moze.

Dokumentacija u shake pa listaj, i naravno thinking in java Bruce Eckel ftw :)
 
Odgovor na temu

Java Beograd
Novi Beograd

Član broj: 11890
Poruke: 9517
*.lukoil.co.yu.



+10256 Profil

icon Re: Kako da kreiram objekat dinamicki?25.03.2008. u 13:51 - pre 195 meseci
Ma nije samo u pitanju šta može a šta ne, već je bitnije šta se kako radi.

Ako pišeš neki softver za auto, može i ima smisla da se promenljive zovu točak1, točak2, točak3 i točak4. I tu je kraj ! Nema više.

Ali, ako imaš N igrača u igraonici, i pri tome ne znaš koliko ih ima, već dinamički moraš da barataš njima, onda se zna kako se to radi: nizovima, listama, kolekcijama, i slično. Zaboga, pa gde bi bio kraj ako bi za svakog trebalo da se kreira posebna promenljiva.

Nekim nesrećnim sličajem to je moguće u nekim programskim jezicima. I svašta je drugo moguće u nekim drugim programskim jezicima. Ali tako ne treba programirati.
OTPOR blokadi ulica, OTPOR blokiranom Beogradu, OTPOR blokiranoj Srbiji
 
Odgovor na temu

bild-studio
Zaimovic Tarik
IT Project Manager
Podgorica

Član broj: 138258
Poruke: 90
77.222.2.*

Sajt: www.bild-studio.com


Profil

icon Re: Kako da kreiram objekat dinamicki?25.03.2008. u 14:15 - pre 195 meseci
Svaki taj post je ok. I ja se slazem sa time, Ali ja imam trenutno predmet koji se zove Softverski Inzinjering i imam nekog lika od Profesora koji kad bi mu vi sve to sto ste do sad pricali rekli, kao sto smo mu rekli, on bi samo rekao to nije objekno orijentisani nacin razmisljanja i Vas domaci zadatak ne vazi! :) Neznam jeste li radili za Apstraktnom Fabrikom ako ne pogledajte kako funkcionise posto ni meni nije jasno kako to funkcionise bas na kristalnije. E sad postoje neka pravila u njoj a pravlo je da se neradi nijednim ovim putem koji sam ja razmisljao i koji ste vi naveli. Na svu zalost. E sad se dovodi u pitanje ko je u pravu profesor (Koji trenutno pohadja II Doktorat i Brend je u Svijetu sto se tice jave) ili ja i Vi. Odlucite sami :) A da profesor se zove Dragan Djuric ako ga vec neko poznaje :).
 
Odgovor na temu

augustus
Novi Sad - Beograd

Član broj: 101581
Poruke: 358
89.216.31.*



+46 Profil

icon Re: Kako da kreiram objekat dinamicki?25.03.2008. u 14:42 - pre 195 meseci
Citat:
bild-studio: Koji trenutno pohadja II Doktorat i Brend je u Svijetu sto se tice jave


Brend u svetu sto se tice jave?! Stvarno?? A po kojim merilima je on to?

Svako postovanje za clanke i knjigu koju je napisao i za projekat na kome radi, ali biti brend u svetu jave je nesto sasvim drugo(upravo sam ga google-ovao i nasao ove informacije).


"Čovek je biće koje se na sve navikava, i ja mislim da je ovo njegova najbolja definicija."
Fjodor M. Dostojevski
 
Odgovor na temu

[es] :: Java :: Kako da kreiram objekat dinamicki?

Strane: 1 2

[ Pregleda: 6256 | Odgovora: 37 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.