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

Upotreba Interfejsa ...?

[es] :: Java :: Upotreba Interfejsa ...?

[ Pregleda: 5089 | Odgovora: 14 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

casperns2
Full Stack Java Web Developer
Novi Sad

Član broj: 288154
Poruke: 227
*.dynamic.sbb.rs.



+45 Profil

icon Upotreba Interfejsa ...?15.04.2014. u 20:23 - pre 121 meseci
Poceo sam da radim program za registraciju vozila, valjda cu uspeti da ga zavrsim i na kraju ako uspem podeilicu sa vama kako sam uradio pa da cujem kritike :)... Inace nisam video nigde slican program pa cu sve kompletno sam isprogramirati , otprilike sam na papir podelio i napravio organizaciju oko klasa ,podataka i svih veza kako ce izgledati samo imam jednu nedoumicu trenutno.

Kod registracije vozila najbitni parametri su godiste vozila, radna zapremina i snaga. Ta 3 parametra ce se upotrebljavati u minimum 3-4 klase( klasa Vozilo, i 2-3 klase gde na osnovu godista ili snage vozila ili zapremine odredjuju razne takse i porezi pri registraciji) . Prvo sam hteo da napravim klasu vozilo sa tim atributima i metodama getGodiste(), getSnaga() uzimam te vrednosti gde budu potrebne ali nesto sada razmisljam da li je bolje da napravim 3 interfejsa, interface Godiste, interface Zapremina i interface Snaga i da ih implementiram u klase gde budu potrebni i preko njih uzimam vrednosti za godiste ,snagu...

Ako bi vrednosti godista,snage i zapremine uzimao iz klase Vozilo, onda bi u svakom klasi gde se koriste te vrednosti morao praviti objekat klase Vozilo, a ovako preko interfejsa samo implementiram u klasu interfejs koji mi je potreban(snaga,zapremina ili godiste) ...

Verovatno bi moglo na oba nacina ali me zanima da li sam u pravu oko upotrebe interfejsa da je ovde prava stvar upotrebiti ga?

PS. Kome treba cena kompletne registracije vozila samo neka pita, imam sve moguce podatke i formule za izracunavanje cene :))
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 810
..ppoe.dyn.broadband.blic.net.



+62 Profil

icon Re: Upotreba Interfejsa ...?15.04.2014. u 21:16 - pre 121 meseci
Ako smem da primetim, dobro razmisljas, uz jednu malu opasku. Ali stvarno cestitam na razumevanju svrhe interface-a .

Opaska: zasto 3 interface-a? Sve sto ima tockove i motor , ima ta tri atributa: godiste, zapreminu i snagu. Prema tome, logicnije je 1 interface (ugovor) koji obavezuje klasu da implementira get/set metode za sva 3 podatka/atributa.

Pozz
 
Odgovor na temu

casperns2
Full Stack Java Web Developer
Novi Sad

Član broj: 288154
Poruke: 227
*.dynamic.sbb.rs.



+45 Profil

icon Re: Upotreba Interfejsa ...?15.04.2014. u 21:45 - pre 121 meseci
Hvala na misljenju i pohvali...

Mislio sam napraviti jedan interfejs ali u jednoj klasi mi je potrebna samo snaga vozila na osnovu koje se odredjuju razne takse (klasa Takse) , u drugoj mi je potrebno godiste i zapremina na osnovu kojih se odredjuje porez na upotrebu motornih vozila (klasa PorezNaUMV), u trecoj mi je potrebno samo godiste, u cetvrtoj sve 3 vrednosti ... a ako napravim jedan interfejs sa sve 3 stavke onda cu bespotrebno u svakoj klasi implementirati nepotrebne metode jer mi ne trebaju u svakoj klasi sve 3 vrednosti, ovako sam mislio da napravim 3 interfejsa i koja mi gde bude potrebna vrednost da taj interfej implementiram...
 
Odgovor na temu

dusans
Stojanov Dušan
Pančevo

Član broj: 9551
Poruke: 1343
*.dynamic.sbb.rs.



+311 Profil

icon Re: Upotreba Interfejsa ...?15.04.2014. u 22:02 - pre 121 meseci
Mislim da si ti tu nešto pobrkao.
Zbog čega bi u klasama kao što su Taksa, PorezNaUMV, ... implementirao property-je Snaga, Zapremina, Godište kada su to svojstva samog vozila?
Ako ti klase Taksa, PorezNaUMV koriste za računanje iznosa, onda je njihov parametar Vozilo (ili IVozilo ako baš hoćeš interface),
ne vidim tu nikakvu dalju problematiku !?

Ako ovo što sam rekao nije tačno, onda objasni detaljnije, šta su uloge tvojih klasa i kako misliš da ih koristiš.
To kad budeš rešio, biće i tebi jasno i već ćeš imati 80% rešenja.

Dakle, prvo ŠTA treba nešto da radi, a posle dolazi KAKO (lakši deo).
 
Odgovor na temu

casperns2
Full Stack Java Web Developer
Novi Sad

Član broj: 288154
Poruke: 227
*.dynamic.sbb.rs.



+45 Profil

icon Re: Upotreba Interfejsa ...?15.04.2014. u 23:16 - pre 121 meseci
Mislim da si u pravu Dusane, mogao bih sve to da stavim u jednu klasu Vozilo posto se uglavnom sve vrednosti dobijaju na osnovu kombinacija godista,snage i zapremine.

Ja sam hteo da to sve podelim u nekoliko klasa...
Na primer sve Takse koje se racunaju na osnovu snage vozila racunam u klasi Takse (komunalne takse, takse za puteve,administrativne...) i tu metode za izracunavanje svake takse,stampanje ...
PorezNaUMV da racunam u drugoj gde je na primer za vozila 2004-2005 godiste sa zapreminom izmedju 1601-2000ccm cena poreza 7763din .. itd...
Jedna gde se racunaju Bonusi ...
..
..

Uglavnom, pri registraciji ima nekih 14 stavki -troskova ,koje se skoro sve dobijaju iz formula u zavisnosti od godista,snage, zapremine, bonusa... gde se kombinacijom tih vrednosti dobijaju troskovi za skoro sve stavke. Pri unosu podataka o vozilu automatski bi trebalo skoro svih 14 stavki da se popuni-cene troskova svake, neke korisnik sam upisuje i sve to da se sacuva.

To mislim da ce biti manji problem da izracunam sve te cene i cenu kompletne registracije, veci problem ce mi biti sto zelim da posle unosa podataka o vozilu i korisniku(uradjene registracije) sve to da sacuvam i da imaju sacuvane sve registracije gde imaju podaci o vozilu,vlasniku,cene registracije,datum registracije...
Pored toga da omogucim vremensku pretragu(zadnjih 15 dana,zadnjih mesec,godinu dana) kada su se vrsile registracije, po tablicama,po korisniku i tako po nekim osnovnim kriterijumima pretraga da se radi.
Da mogu da se importuju kompletni podaci o vozilu ako je u bazi(listi)na osnovu tablice ili br.sasije, i podaci o vlasniku na osnovu imene i prezimena ako postoji od ranije. Tako da cu morati pored cuvanja kompletnih registracija cuvati posebno podatke o vozilu a posebno o korisnicima ..
I jos dosta toga imam na umu sta bih mogao uraditi jer trenutno radim u autoindustriji pa znam kako bi sve to moglo dobro da izgleda i funkcionise ijako ne radim nista oko registracije vozila ...

Mozda sam uzeo i preveliki zalogaj ali polako deo po deo ...
 
Odgovor na temu

FooLControL
Serbia

Član broj: 168531
Poruke: 74
*.dynamic.isp.telekom.rs.



+8 Profil

icon Re: Upotreba Interfejsa ...?17.04.2014. u 11:12 - pre 121 meseci
Ni ja bas najbolje ne razumem potrebu za tim interfejsima, slozio bih se sa Rajko da ti treba samo jedan ako bas hoces da ga imas, mada ja ni taj jedan ne bih stavljao jer se radi o obicnim geterima i seterima.
Ne znam da li sam dobro skontao, ali ja bio to ovako uradio, iz glave odmah... barem taj pocetak.

Code:
public class Vozilo {

    private int godiste;
    private int zapremina;
    private int snaga;
    private Taksa taksa;
    private Porez porez;
    private Bonus bonus;
    
    public Vozilo(int godiste, int zapremina, int snaga) {
        super();
        
        this.godiste = godiste;
        this.zapremina = zapremina;
        this.snaga = snaga;
        
                //u ovim klasama pretpostavljam da imas atribute
                //i metode koje racunaju to sto treba tebi

        this.taksa = new Taksa(snaga);
        this.porez = new Porez(godiste, zapremina);
        this.bonus = new Bonus(godiste, zapremina, snaga);
    }    
}


A sto se tice vlasnika, mozes napraviti posebnu klasu Vlasnik i uvuci je u vozilo, takodje i staviti taj datum registracije, i eventualno listu sa svim prethodnim registracijama za to vozilo, dje ces gurati te datume, tacnije regustracije.
Vidim da si naveo da ti je baza lista, onda ces morati napraviti klasu, koja ce da sadrzi dvije liste Vozila i Vlasnika, pa kroz to prilaziti i vracati rezultate pretrage. Mada bi sve to bolje bilo da se gura u neku bazu MySQL ili slicno.
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 810
..ppoe.dyn.broadband.blic.net.



+62 Profil

icon Re: Upotreba Interfejsa ...?17.04.2014. u 11:49 - pre 121 meseci
Hm... evo bar jedan razlog uvodjenja interface-a, umesto pravljenja klase Vozilo koja bi se "imputirala" gde treba i ne treba (u kojekakve masine).

Sta ako pozelimo da prosirimo program za registraciju na recimo - plovila? Naravno da nas program treba da radi istovremeno i sa vozilima i sa plovilima ("sva jaja u jednoj korpi"). A klase Vozilo i Plovilo su razlicite kao nebo i zemlja (pardon, voda i zemlja)?
Onda ide nesto ovako:

1) Deklarisemo interface PodaciZaPrijavu, sa tri spomenuta atributa sa sve get/set metodama.
2) Klasama Vozilo i Plovilo se podmetne interface PodaciZaPrijavu; znaci obe moraju da implementiraju metode (ispostujku ugovor/interface).
3) Sad deklarisemo "korpu za sva jaja" ovako nekako (zadnja linija koda ispod)

Code:

    private interface PodaciZaPrijavu {
        public int getGodina();
        public double getKubikaza();
        ...
    }

    private class Vozilo implements PodaciZaPrijavu {
        ...
    }

    private class Plovilo implements PodaciZaPrijavu {
        ...
    }

    java.util.List<PodaciZaPrijavu> listaPrijavljenihMasina = new ArrayList<>();


4) Dalje je vec lako, po potrebi instanciramo Vozilo i/ili Plovilo, i ubacujemo u listu listaPrijavljenihMasina (metoda .add()) bla bla bla.

Daklem, pije li ovo (razlog) vodu..?

Pozz


[Ovu poruku je menjao Rapaic Rajko dana 17.04.2014. u 21:20 GMT+1]
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3453

Jabber: djoka_l


+1462 Profil

icon Re: Upotreba Interfejsa ...?17.04.2014. u 12:11 - pre 121 meseci
Uvek mi je pomalo žao kada vidim da se novopečeni programer ovako silno zaleće glavom u zid.
Recimo:
Citat:
Inace nisam video nigde slican program pa cu sve kompletno sam isprogramirati


Ovo može da kaže neko ko nikada u životu nije registrovao auto ili motor. Pogledaj bilo koji servis koji radi tehnički pregled i primetićeš da se takse ne računaju "peške" nego postoji aplikacija koja to radi.

Sledeće, izjava da ti je sve jasno, samo ne znaš da li ti treba interfejs je isto kao da si rekao da si upravo pročitao sve o građenju porodične kuće, sve si predvideo, samo ne možeš da se opredeliš da li da uzmeš roze ili plave pločice za kupatilo.

Osim taksi, najveća stavka je obavezno osiguranje. Kakav si interfejs predvideo prema informacionom sistemu osiguravajuće kuće, da bi mogao da izdaš i naplatiš polisu? Kakav ti je interfejs prema POS terminalu, ako se polisa plaća karticom? Kako misliš da očitaš podatke sa elektronske saobraćajne dozvole?
Da li ti je jasno, da sve to što misliš da staviš u objekat vozilo, već postoji u objektu saobraćajna dozvola?

Da li si napravio šemu baze?

Daleko si od bilo kakvog ozbiljnog sistema, nije loše za vežbu. Ako ti je cilj da te tapšu po ramenu, evo, kažem ti: Bravo!
Ali, bolje sačuvaj pitanja za stvarno bitne stvari, a pitanja kao, da li interfejs ili ne, kako da serijalizujem to i to, stvarno u ovom momentu nemaju nikakvog smisla.
 
Odgovor na temu

casperns2
Full Stack Java Web Developer
Novi Sad

Član broj: 288154
Poruke: 227
*.dynamic.sbb.rs.



+45 Profil

icon Re: Upotreba Interfejsa ...?17.04.2014. u 17:32 - pre 121 meseci
@Djoka,
Program za registraciju nigde nisam video, video sam eksel tabele(ako to ne racunas pod programom) u kojima ima masu tabela gde se negde rucno negde iz tabela izvlace podaci. Sigurno da imaju pravi programi za registraciju vozila ali ja nisam video kako izgleda i sta sve sadrzi. Ja imam te eksel tabele iz kojih izvlacim kako se dobijaju koje cene. Ovaj zadataj kada uradim vecini iskusnih programera ce biti i smesan kako sam uradio ali to je proces ucenja, i meni je smesno sada sta sam pitao i pisao pre 2 meseca ali to je sto moramo proci, svako svojim putem i nisam razumeo zasto sam se zaleteo glavom u zid?

Za interfej sam pitao jer sam bio u dilemi da li je prava stvar ovde ga upotrebiti, meni je prava stvar da ovako nesto prodiskutujem sa nekim , za Kod na mom nivou za skoro svaki problem mogu naci na internetu kako da se resi, ovo su pitanja za konkretan slucaj i mnogo su mi korisni ti saveti koji se ne ticu cistog koda , vec na koji nacin nesto uraditi (mada mozda nekad i to zatreba :) )

Sa ovim programom zelim da napravim program za izracunavanje cene registracije i bazu u koju ce se cuvati sve uradjene registracije, posebno podaci o vozilu a posebno o vlasnicima, pretrage po skoro svim kriterijumima (pretraga kojim vozilima istice reg. u narednih mesec dana ako postoje u bazi, pretraga vozila po sasiji ili registracijama, pretraga korisnika, pretraga svih registracija u izabranom periodu....) gde bi korisnik programa mogao da ima uvid u sve sto ga zanima i lako izracunavanje cene. Za saobracajnu postoji citac saobracajne koji ocitava i stampa, nikakve veze ona nema sa programom osim sto se mora priloziti uz papirologiju i proveriti ispravnost podataka sa nje, mada mozda postoje programi koji iz saobracajne ucitavaju direktno podatke u neki program ali nisam ni video ni cuo za te programe. Kada sam rekao u bazu podataka da sacuvam nisam mislio na pravu bazu vec cu u HashMap da sacuvam jer trenutno ne znam sa bazama, pa kasnije kada naucim mogu i preko neke SQL baze

Za placanje i povezanost sa terminalom ne zelim da radim jer ovo nije profesionalni program vec zadatak za vezbanje za pocetnika, na kom zelim da ucim(a i placanje uopste ne mora da bude povezano sa programom,ijako je naravno dobro ako se uradi) . Ne kazem ja da cu napraviti program za registraciju koji bi neko mogao koristiti u tu svrhu ko registruje vozola, mada kasnije sa novim znanjem bih ga mozda i mogao izmeniti i urediti da sluzi. Sada samo vezbam i tu ce biti svakakvih nelogicnosti i desetine stvari koji bi mogle da se urade na pravilni a posebno na jednostavni nacin .Ja cu pokusati na sto bolji nacin da uradim, ako uspem uopste do kraja i da ga uradim .Daleko od toga da smatram da cu uraditi ozbiljan program posle 3 meseca ucenja jave niti sam to rekao ali kroz taj program u pokusaju da ga uradim naucicu sigurno 10 puta vise nego da prepisujem uradjene zadatka iz knjiga.

Uglavnom hvala svima na savetim, vec sam poceo i za sada ide super i bez greske(mada nisam siguran da li i pravim metodama :) ). Kada budem jos malo odmakao pokazacu sta sam uradio i dokle stigao, ovih dana ne radim :) pa cu imati malo vise vremena ...
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 810
..ppoe.dyn.broadband.blic.net.



+62 Profil

icon Re: Upotreba Interfejsa ...?17.04.2014. u 20:30 - pre 121 meseci
Citat:

Ali, bolje sačuvaj pitanja za stvarno bitne stvari, a pitanja kao, da li interfejs ili ne, kako da serijalizujem to i to, stvarno u ovom momentu nemaju nikakvog smisla.


Ne znam da ima mnogo bitnijih stvari od interface-a, bar kad je java u pitanju? U ovoj fazi ucenja izuzetno je vazno razumeti ZASTO, KAD i KAKO koristiti interface-e. Java bez njih ne bi bila ono sto jeste.

Pozz

P.S. U mom gornjem post-u (sa primerom koda) sam greskom dvaput stavio deklaraciju klase Vozilo, umesto Vozilo i Plovilo; ispravljeno.
 
Odgovor na temu

alfa-pro
Pancevo

Član broj: 241818
Poruke: 476
*.dynamic.sbb.rs.



+7 Profil

icon Re: Upotreba Interfejsa ...?08.05.2014. u 19:15 - pre 121 meseci
Neko moje razmisljanje kako bi ja uradio, ispravite me ako gresim.

1. Napravis interface (ugovor) vozilo i navedes stavke da svako vozilo mora da ima ime, godiste, bla, bla
2. Napravis klasu automobil bla, bla koji implementira vozilo i obavezuje ga da mora da ima sledece stavke dato vozilo.

Sa automobil klasom onda radis sve iz jednog objekta i vrtis logiku. Mozda i ja gresim ali evo na prvi mah tako mi nesto pade napamet
Kada vidjamo uvek ista lica, na kraju ona postaju deo našeg života. A kada postanu
deo našeg života,
onda žele i da nam ga izmene. I ako ne bude po njihovom, nije im pravo. Jer, svaki
čovek ima tačnu predstavu kako bi trebalo da živimo svoj život. A nikad nemaju pojma
kako treba da prožive sopstveni život.
 
Odgovor na temu

casperns2
Full Stack Java Web Developer
Novi Sad

Član broj: 288154
Poruke: 227
*.dynamic.sbb.rs.



+45 Profil

icon Re: Upotreba Interfejsa ...?09.05.2014. u 16:18 - pre 121 meseci
Vec sam duboko usao u zadatak tako sad nema nazad,jedino iz pocetka. Ima tu vise klasa, vozilo,vlasnik, glavna klasa, za interface, registraciju ... Sada sam dosta toga uocio kako je trebalo na drugaci i bolje nacin ali program pravim za vezbanje, zavrsicu ga kako sam zapoceo a greske cu zapamtiti za ubuduce....
 
Odgovor na temu

casperns2
Full Stack Java Web Developer
Novi Sad

Član broj: 288154
Poruke: 227
*.dynamic.sbb.rs.



+45 Profil

icon Re: Upotreba Interfejsa ...?11.05.2014. u 20:46 - pre 120 meseci
Evo slike interfejsa i sta sam radio predhodni period uceci Javu, nisam nesto previse sredjivao i bavio se bojama jer to ni na kraju. Bitno mi je da se automatski sve odvija. na kucanje registracija ili broja sasije pronalazi se vozilo i ispisuju svi podaci vozila i izracunava sve sto moze iz tih podataka. Ili samo uneti podatke o snazi,zapremini i godistu i odmah se dobiju prve 3 cene . Kucanjem imena i prezimena isto se popunjavaju podaci o vlasniku ako postoji u bazi a u prozoru Vozilo i Vlasnik moze da se unose podaci o novim Vozilima i Vlasnicima... itd itd ...

Prikačeni fajlovi
 
Odgovor na temu

galaksija
Novi Sad

Član broj: 49290
Poruke: 82



+4 Profil

icon Re: Upotreba Interfejsa ...?27.08.2014. u 11:22 - pre 117 meseci
Znam da je malo zastarela tema, ali reci mi jesi li ovo radio u Swing-u ili u JavaFx-u ?


Unapred hvala.
 
Odgovor na temu

casperns2
Full Stack Java Web Developer
Novi Sad

Član broj: 288154
Poruke: 227
*.static.isp.telekom.rs.



+45 Profil

icon Re: Upotreba Interfejsa ...?28.08.2014. u 12:52 - pre 117 meseci
Preko JavaFX sam uradio ovo i prezadovoljan sam kako je radilo i ste se sve moglo uraditi preko te tehnologije. Sticajem okolnosti kada sam bio pri kraju poceo sam sa web programiranjem i nisam zavrsio to sto sam bio zapoceo do kraja. Sada isti projekat, registraciju vozila cu uraditi, samo kao web aplikaciju.......

Pozdrav...
 
Odgovor na temu

[es] :: Java :: Upotreba Interfejsa ...?

[ Pregleda: 5089 | Odgovora: 14 ] > FB > Twit

Postavi temu Odgovori

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