Kezdőoldal » Számítástechnika » Programozás » Java: szülő, vagy gyökér...

Java: szülő, vagy gyökér osztály elérése?

Figyelt kérdés

Sziasztok!


Új vagyok Java programozásban. Éppen azzal bajlódok, hogy egy osztályból nem tudom sehogyan sem elérni az őt létrehozó osztály változóit.


A programban a játékos egy űrhajót irányít, aminek vannak védőágyúi. A játékoson kívül ellenséges űrhajók vannak. Amit el szeretnék érni: a védőágyú osztályából el akarom érni az ellenséges hajók listáját (hogy megkereshessem a legközelebbit).


Nagyjából így néznek ki:


public class Player{

public Player(){

turret = new LaserTop(); // ez a védőágyú

}

}


public class LaserTop {

public LaserTop(){

// Innen akarom kiolvasni az ellenséges hajók listáját

}

}

public class EnemyShips{

public EnemyShips(){

Ship enemy[] = new Ship[10];

// Ezt az "enemy" változót akarom kiolvasni

}

}

public class GameScreen(){

public GameScreen(){

player = new Player();

enemyShips = new EnemyShips();

}

}


A változók mind publikusak (csak nem volt kedvem most begépelni ezt).


tehát a felépítés:

gamescreen

-player

--laserTop

-enemyships

--enemy (változó)


hogyan érem el "laserTop"-ból az "enemy" változót?



2015. okt. 10. 16:14
 1/2 A kérdező kommentje:

Jó sokáig kerestem a megoldást, kb 4 perccel azután, hogy kiírtam a kérdést, megtaláltam:


class Creator {

Created created;

public void aMethod() {

created = new Created(this);

}

}

class Created {

Creator myCreator;

public Created(Creator creator) {

myCreator = creator;

}

}

2015. okt. 10. 16:27
 2/2 anonim ***** válasza:

Több probléma is van a kóddal. Értem, hogy kezdő vagy még a Java-ban. Szóval az OO-ságot is még el kell sajátítanod.


Másrészről: Túl sok dolgot különválasztasz, amik egyben lennének jobbak, ill. fordítva. Persze ez nem baj, még, majd később kiforr, ahogy a tudásod bővül.

Minél jobban megérted és többet fogsz tudni, annál jobban mondod majd a régi kódodra, hogy használhatatlan. :)


Harmad részt néz utána ennek:

- Tervezési minták (inkább elméleti)

- Java Interface (inkább gyakorlati)


Negyedrészt:

Az osztály objektumokra tekints pointerként, mivel az alábbi kód output-ja 5.


public class A {

... private int a = 0;

... public static void main(String[] arg) {

... ... A Obj = new A(3);

... ... A.fgv(Obj);

... ... A.fgv(Obj);

... ... System.out.println(Obj.getA());

... }


... public static void fgv(A Obj) {

... ... Obj.aInc();

... }


... public A(int n) {

... ... this.a = n;

... }


... public void aInc() {

... ... this.a++;

... }


... public int getA() {

... ... return this.a;

... }

}

2015. okt. 11. 09:28
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!