Permalänk
Medlem

Hjälp Med Java Metoder

Hejsan.

Jag har ett bekymmer i min kod som jag behöver hjälp med hehe. Det jag undrar över är om jag kan från en class nå en annan class genom en metod utan att jag skapar ett nytt objekt av den andra classen. t.ex i mitt problem är det att jag i main classen har en array av classen "player", och jag vill att player[0] och player[1] ska kunna "attackera" varandra genom en metod i classen "player". Ursäkter över hur blåst och otydlig jag måste låta men om någon förstår vad jag menar och vill hjälpa till så blir jag mer än glad!

Permalänk

Ett objekt av typen player känner inte till andra objekt av samma typ. Ett sätt att få objekt att samverka är att ha ett till objekt som inparameter till metoden, dvs typ;
attack(Player enemy){...}.

När du sen kallar på metoden får du även skicka med vilken player som skall attackeras, typ
player[0].attack(player[1]);

Hänger du med? (Obs, både rostig och långt ifrån världsbäst på java och programmering i allmänhet..)

Permalänk
Medlem

@Dubbelklabbe: Okej det börjar bli lite klarare, men vart ska denna metod vara? för i mitt huvud har jag fått för mig att jag vill ha en attack metod i player, eftersom varje spelare ska kunna göra skada på den andra.

Permalänk
Skrivet av Kozzaca:

@Dubbelklabbe: Okej det börjar bli lite klarare, men vart ska denna metod vara? för i mitt huvud har jag fått för mig att jag vill ha en attack metod i player, eftersom varje spelare ska kunna göra skada på den andra.

Precis, metoden attack ska ligga i player. Där ska du skriva kod som både ändrar sig själv, och det mottagna objektet.

Permalänk
Medlem

@Dubbelklabbe: Tackar för hjälpen!

Permalänk
Medlem

Som tidigare person skrev brukar man använda sig av dispatch i dessa sammanhang för att hantera händelser mellan två objekt utan att de ska ha en referens till varandra. Följande länk går igenom olika dispatch koncept: Single, Double & Multiple dispatch.