webForumDet fria alternativet

I vilken klass ska metoderna ligga?

4 svar · 304 visningar · startad av Compusa

CompusaMedlem sedan jan. 20023 327 inlägg
#1

Har bland annat följande klasser:

Game: Parser parser; Room currentRoom; Player player;
Stack visitedRooms;

Player
fields: name; currentRoom; maxCarryWeight; carriedItems;

Utöver dessa klasser har jag bland annat en som heter Item och en som heter Room.

En spelare kan plocka upp föremål (Item) som finns i rummen samt lägga ifrån sig dom.

Det jag undrar är vilken klass metoderna takeItem, dropItem, och goRoom skall ligga i? Först hade jag metoderna i klassen Game men för att sedan flytta över dom till Player.

Rent logiskt tycker jag att dessa metoder borde ligga i Player men jag känner mig inte helt hundra? Hoppas att min beskrivning är tillräcklig?

erkaMedlem sedan dec. 19996 522 inlägg
#2

Jag tycker den är självklar i Player, player klassen ska ha ett tydligt definierat ansvarsområde.

CompusaMedlem sedan jan. 20023 327 inlägg
#3

Tack Erka, vad tror du om goRoom? Det är metoden som gör att man förflyttar sig mellan rum?

erkaMedlem sedan dec. 19996 522 inlägg
#4

Jag hade lagt den i Player också, eftersom det är inte ett rum som förflyttar sig utan en spelare

CompusaMedlem sedan jan. 20023 327 inlägg
#5

Fan vad bra :) Hade inte Player klassen från början, tillkom efter ett antala uppgifter (Java Blue J boken) och detta var exakt mina tankar också.

goRoom ligger dock i klassen Game men jag kanske ska flytta den ändå till Player?

130 ms totalt · 3 externa anrop · v20260731065814-full.7de19299
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)