User Tag List

Ergebnis 1 bis 5 von 5

Thema: Java Problem: "Kennt-Beziehung" ?

  1. #1
    Mitglied
    Registriert seit
    06.11.2010
    Ort
    Nähe Bielefeld
    Beiträge
    294
    Renommee-Modifikator
    9

    Java Problem: "Kennt-Beziehung" ?

    Hallo Community

    Ich habe ein Problem:
    Wir arbeiten in der Schule grad mit BlueJ und ich möchte (private, nicht als Hausaufgabe) ein Damespiel entwickeln.
    Nun habe ich eine Klasse Spiel, über die das Spiel gestartet wird und über die auch die Eingabe des Spielers erfolgt.
    Ausserdem gibt es eine Klasse Spielbrett. Wenn Spiel erzeugt wird, erstellt es ein Objekt der Klasse Spielbrett (ich glaub das nennt man dann "Hat-Beziehung" oder?) Das läuft so ab:
    Spoiler:
    public class Spiel
    {
    private Spielbrett brett;
    public Spiel
    {
    brett = new Spielbrett();
    }
    }

    Die Klasse Spiel erzeugt auf gleiche Weise auch ein Objekt der Klasse KI.
    KI soll aber im Laufe der Programmierung auf das von Spiel erzeugte Objekt der Klasse Spielbrett zugreifen können.
    Meine Frage ist nun: Wie kann ich das realisieren? Ich glaube, das was ich suche nennt sich "Kennt-Beziehung" ich bin mir aber nicht sicher. Wenn ich nach "Kennt-Beziehung Java" google finde ich nichts brauchbares.

    Könnt ihr mir helfen?

  2. #2
    Moderator Avatar von Campeòn
    Registriert seit
    20.06.2010
    Ort
    Bielefeld
    Beiträge
    2.177
    Blog-Einträge
    1
    Renommee-Modifikator
    19
    Du willst also innerhalb deines KI Objektes auf dein Spielbrett Objekt zugreifen? Wenn das so ist, kannst du das brett im Konstruktor übergeben. Das sähe wie folgt aus.

    Spiel Klasse:
    public class Spiel
    {
    private Spielbrett brett;
    private KI ki;
    public Spiel()
    {
    brett = new Spielbrett();
    ki = new KI(brett);
    }
    }
    Die KI Klasse:
    public class KI
    {
    private Spielbrett brett;
    public KI(Spielbrett neuesBrett)
    {
    brett=neuesBrett;
    }
    }
    Das Objekt brett was du in der Spielklasse erzeugst wird so an das neu erstellte KI Objekt übergeben. Wenn was nicht klar ist, frag.
    Because we do not know when we will die, we get to think of life as an inexhaustible well, and yet everything happens only a certain number of times ... And a very small number really. How many more times will you remember a certain afternoon of your childhood ... an afternoon that is so deeply a part of your being that you can't even conceive of your life without it? Perhaps four or five times more. Perhaps not even that. How many more times will you watch the full moon rise? Perhaps 20. And yet it all seems limitless.

  3. #3
    Mitglied
    Registriert seit
    06.11.2010
    Ort
    Nähe Bielefeld
    Beiträge
    294
    Renommee-Modifikator
    9
    Ok... Das heißt aber auch, dass wenn ich dann nachdem das Objekt übergeben wurde und ich über die Klasse Spiel zum Beispiel ein Attribut (Integer) des Objekts ändere diese Änderung auch vom Objekt KI bemerkt wird? Oder muss ich quasi nach jedem meiner Züge (Das Spiel soll rundenbasiert sein) brett erneut übergeben?

    €: Okay ich glaub es klappt. Danke
    Geändert von Vanitas (24.11.2011 um 20:05:30 Uhr)

  4. #4
    Moderator Avatar von Campeòn
    Registriert seit
    20.06.2010
    Ort
    Bielefeld
    Beiträge
    2.177
    Blog-Einträge
    1
    Renommee-Modifikator
    19
    Ja genau, das ist ein und dasselbe Objekt was beide ansprechen.
    Because we do not know when we will die, we get to think of life as an inexhaustible well, and yet everything happens only a certain number of times ... And a very small number really. How many more times will you remember a certain afternoon of your childhood ... an afternoon that is so deeply a part of your being that you can't even conceive of your life without it? Perhaps four or five times more. Perhaps not even that. How many more times will you watch the full moon rise? Perhaps 20. And yet it all seems limitless.

  5. #5
    Mitglied
    Registriert seit
    06.11.2010
    Ort
    Nähe Bielefeld
    Beiträge
    294
    Renommee-Modifikator
    9
    Okay... war mich nicht mehr klar dass das so geht... Hast mir sehr geholfen danke Hätte ohne dich erstmal nicht mehr weiter arbeiten können^^

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
[email protected]