Problem sa pozivanjem metode iz druge klase

Problem sa pozivanjem metode iz druge klase

offline
  • Davor 
  • Novi MyCity građanin
  • Pridružio: 19 Maj 2003
  • Poruke: 28
  • Gde živiš: Austrija

Pozdrav

Imam sljedeci problem. Napravio sam 2 klase i sad klasa B je prilicno jednostavna, konektuje se na bazu podataka i iscitava nekoliko polja, koja se nikad ne mjenjaju, znaci klasa sadrzi samo nekoliko get() metoda.
E sad ako zelim da iz prve klase pozovem neku get metodu druge klase, nedozvoljava mi, naime nemogu pozvati non-static metode druge klase, osim ako ne instanciram objekt te druge klase (ta druga klasa za sada nema konstruktor,... ). Postoji li druga mogucnost osim da instanciram objekt te druge klase?

Nadam se da nije previse zamrseno Smile



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Đuro Glumac
  • dipl. ing. informatike
  • Pridružio: 08 Feb 2004
  • Poruke: 3640
  • Gde živiš: ApAtIn

Ne znam kako je kod Jave ali za C++ bi trebalo ili da ti se ta metoda nalazi u "public" rezimu pristupa ili da napravis neku funkciju i proglasis je za friend function i sa njom izvrsavas sta ti treba iz druge klase.



offline
  • Pridružio: 08 Jan 2007
  • Poruke: 279
  • Gde živiš: Srbija

Pokušaću ti pomoći.

1) napravim klasu koja se kači na bazu, generalno, za sve klase
2) klasu u kojoj definišem get i set medote
3) klasu gde definišem metode nad bazom, npr INSERT, UPDATE, etc.
4) klasu (JInternalFrame) u kojoj kreiram interfejs
5) u klasi gde definišem metode nad bazom(3) i u klasi gde kreiram interfejs(4) za obradu podataka nad jednom ili više tabela, napravim objekat klase sa get i set metodama na osnovu kojeg pozivam te metode, te one ne moraju biti static

BTW, i ja tek svoje znanje iz OOP prebacujem na javu, te ne znam da li je ovo najispravniji način, ali javiće se neko kompetentiji.

offline
  • Pridružio: 18 Apr 2003
  • Poruke: 8134
  • Gde živiš: U kesici gumenih bombona...

Da bi iz jedne klase pristupao metodama druge klase moras metode da oznacis kao public static te im onda pristupas kao imeKlase.ImeMetode() ili da metode oznacis samo kao public, da napravis novu instancu te klase i da ih pozivas:

Class cls = new Class(); cls.ImeMetode();

Posto je Java, verovatno moras i namespace druge klase da uvrstis u prvu klasu, ako se namespace-ovi tih dveju klasa razlikuju.

offline
  • real 
  • Elitni građanin
  • Pridružio: 25 Nov 2004
  • Poruke: 2297
  • Gde živiš: Kragujevac

@Davor, ne razumem zbog čega ti je problem da napraviš instancu te druge klase? Konstruktor joj nije ni potreban jer postoji tzv. "default konstruktor". Slobodno napiši i klasi A:

KlasaB klasaB = new KlasaB();
String str = klasaB.getNekiString();

Ko je trenutno na forumu
 

Ukupno su 954 korisnika na forumu :: 59 registrovanih, 7 sakrivenih i 888 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: A.R.Chafee.Jr., atmel, bankulen, bladesu, Bobrock1, bojank, bojankrstc, bojcistv, bokisha253, brundo65, cemix, cenejac111, crnitrn, damirZR, Dorcolac, DPera, dule10savic, ginjica, GORDI, Griffon vulture, ikan, Ilija Cvorovic, ivicasimo, Japidson, Joco Skljoco, Karla, krkalon, Krvava Devetka, Kubovac, kybonacci, Levi, mercedesamg, Mercury, Mi lao shu, mikrimaus, mile23, milimoj, Milometer, milutin134, Miroljub1979, Mixelotti, mnn2, Nemanja.M, Parker, Petarvu, raketaš, repac, royst33, Sir Budimir, slonic_tonic, Srle993, stalja, stegonosa, Stoilkovic, theNedjeljko, voja64, zzapNDjuric99, |_MeD_|, 125