Java osztályok közt hogy adunk át változókat?
Miért nem működtek a getterek? Mi volt a probléma?
Az egyik osztályban írsz egy-egy getter metódust a három adathoz, a másik osztályból meghívod ezeket és át is vannak adva a számok a másik osztálynak.
-Konstuktorral át tudod adni a változtó a osztályból a specifikus instance létrehozásahoz. Tehát amior olyat írsz, hogy "new Osztály(val1, val2, val3);"
-Ahogy említettek setterrel is be tudod állítani ezeket a változókat.
Ennél a 2 módszernél azt feltételzem, hogy az osztályban ez a 3 változó privát változó formában jelen vannak, itt csak fel akarok tölteni értékekel.
-Azt is el tudom képzelni, hogy az másik osztályon belül csak egy függvényt akarsz meghívni, így ott is át tudod adni a függvény argumentumaként. Ugyan úgy mit a setter függvényeknél, csak itt már rögtön elkezdesz az adattal dolgozni.
Ír látatlanul ennél többet nem tudok mondani, de ha feltöltöd a kód részletet, akkor szívesen ránézek.
Az a baj hogy a GPT folyamatosan félrevezet . Azt mondja hogy a két osztály között kell a gettereket megírni aztán beküldöm neki az egész kódot , kijavítja azt úgy se jó aztán mindig kitalál valami mást és átírja de úgy se jó akármit mond soha nem jó de elegem lett és idegemben összevontam egy osztályba mer nem fogok 20 órán át egy hülye géppel vitatkozni .
Javában kezdő vagyok , nem tudtam hogy ilyen szenvedés egy nyomorult változt átadni én úgy gondoltam mint javascriptben van a globális tér és akkor ami ott van azt használhatja mindenki osztályokon belül de nem.
Azt is kipróbáltam hogy ne privát hanem publik legyen minden osztály és a globális térben deklarálom a változókat de úgy se visz át semmit .
És nem csak a getterekkel hanem vagy 3 más módszerrel sem működött , eleve azzal kezdtünk hogy a main args nak adjuk át a változókat akkor meg stringé kell konvertálni aztán vissza doublebe és mégsem adott át semmit csak 1 eseket .
#3
"Az a baj hogy a GPT folyamatosan félrevezet "
Ezért nem kellene úgy használni, hogy nem érted.
"van a globális tér és akkor ami ott van azt használhatja mindenki osztályokon belül de nem"
Tudsz ilyet is csinálni, de láthatóan nem ezt csinálod.
"de úgy se visz át semmit"
Áh, kezdem érteni.
Te mit értesz "átvinni" alatt?
Csak arra akarok egy példát látni hogy van két osztályod és az egyikből átviszel double értékeket a másikba .
A kódom már nem úgy néz ki mert mint mondtam elegem lett és beírtam egy osztályba az egészet így nem kell átvinni változókat .
A jípítit meg nem tudom annál jobban használni hogy a komplett kódot küldözgettem már a végén be és mindig kijavítgatta átírta aztán én visszaküldtem neki mert szar volt aztán mentegetőzött hogy hát ezt nem így kellett volna és végtelenségig javítgatta de az amire kijavította az is ugyan úgy ment vissza neki mert nem jó és arra is azt mondta hogy hát ezt nem így kellett volna és megint és ez ment körbe körbe napokig én meg meguntam. Ha a gép se tudja hova kell elehelyezni két class nál ezeket getter settereket akkor maradnak az élő emberek :D
Parancssori argumentum átadással szórakoztunk egy napot mondom az se működött ,nagykegyesen elárulta hogy ja hiába küldök doublet az stringként megy rá oké kijavítottam de akkor se működött csak 1 ként értelmezte bármit írtam be .
Nem csak getter setter hanem speciális adatátküldő eljárásokat is végigvettünk mint mondtam egyik se működött és olyan bonyolult volt a szintaxisa hogy én már át se láttam .
Akkor hagytam rá ezt a dolgot amikor minden felmerült problémára az ellenkezőjét adta tanácsnak ,amikor hol privát hol public konverziós bajok voltak de az volt rá a válasz hogy annak publicnak kell lennie aztán nem jó akkor meg hogy privát de az se jó úgy mondom hogy az egész kód ott volt nála nem igaz hogy nem látja mit kell csinálni .
Amúgy a program lényege hogy cnc programot íratok vele és elmentem fájlként .Rengeteg formázás konverzió van benne mert hol számolni kell a 3 adattal amire épül hol szöveget kell alkotni sorokat ezért nehéz átlátni. És ebből csináltam két típust mert a másik maró mozgását generálja le és azt akartam hogy ez a két class egy ütésre lefusson így létrehozva a 2 fájlt mivel 200 db fájlt kell létrehozni ahány maró ahány darabszám ezek összeszorzódnak.
De ezt megoldottam egyben és 3 forciklussal egy felparaméterezéssel legenerál akár többezer különböző programot is csak most egy osztályban van mind a két típus program.
Kérdező, neked az alapvető Java ismereteid hiányosak, szerintem így nem kellene komolyabb programba kezdened. Van egy könyv, az a címe, hogy Schildt H. - Java The Complete Reference 12ed. Szerintem ez a legjobb Javas könyv, javaslom, szerezd be és mélyedj el benne.
Egyébként két osztály közt úgy tudsz a legegyszerűbben adatot átvinni, hogy az egyiket példányosítod a másikban, és ha van a másiknak megfelelő hozzáférési módosítóval ellátott adattagja (pl. public), akkor annak az adattagnak tudsz értéket adni. Ha nincs, akkor mondjuk setter metódussal. Pl. ha van egy A és B osztályod, az A osztályban példányosítod a B-t:
B bosztaly = new B();
B.adattag = 12.847;
Vagy setter metódussal:
B bosztaly = new B();
B.setAdattag(12.847);
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!