Java metódus (? )
A függvény így nézne ki:
public boolean moveBackwardsAndRight(ChessBoard b){
if(b.getItem( (pos.x+1) , (pos.y+1) ) != Const.FREE) { return false};
else {
pos.plusY(1);
pos.plusX(1);
return true;
}
A kérdésem az lenne, hogy ebbe hogyan lehetne beilleszteni, hogy megváltoztassa a ChessBoard (egyébként char[][]) osztály egyik elemét, ha feltétel megvan
Tehát azt mondod, hogy ha változtatok az argumentumban lévő osztály egyik értékén, akkor az kint is megváltozik?
Mivel az nem egy primitív típus
"A kérdésem az lenne, hogy ebbe hogyan lehetne beilleszteni, hogy megváltoztassa a ChessBoard (egyébként char[][]) osztály egyik elemét, ha feltétel megvan"
Ugyanúgy, mint bárhol, egyedül, amit hiába csinálsz:
b = valami_más;
Mert kint továbbra is ugyanaz lesz az értéke.
#1 vagyok
Megváltoztatni a ChessBoard egyik elemét úgy tudsz más metódusból, ahogy elmondtam és ahogy csinálnád is a fenti kódban:
....(ChessBoard b) {
b.getItem(...)
b.setItem(..., ...);
}
Nyilván kell lenni setItem-nek is a ChessBoard-ban.
Áh rendben, így már világos :)
Köszönöm szépen!
Nem csak a primitív típusok adódnak át érték szerint, hanem minden.
ChessBoard cb = new ChessBoard();
Ilyenkor a cb csak egy referencia lesz az objektumra.
Amikor átadod a metósudnak ez a referencia érték szerint adódik át viszont ugyan arra az objektumra fog hivatkozni.
#1 vagyok
#9: Hopp, igazad van! :)
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!