Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 08:46

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Java] Objekte in anderen Klassen benutzen

Discussion on [Java] Objekte in anderen Klassen benutzen within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Feb 2010
Posts: 64
Received Thanks: 3
[Java] Objekte in anderen Klassen benutzen

Meine Frage ist, ich habe die Klasse Main erstellt, in dieser habe ich eine Box erstellt :
PHP Code:
public  Main() {
            
            
Box b1 = new Box();
            
b1.setColor("red");

diese will ich jetzt in der Klasse Wuerfel verändern, wie kann ich also die Box übernehmen um Sie in Wuerfel verändern zu können? Und wie kann ich einen Befehl von der Box also beispielsweise b1.setVisible außerhalb vom Konstrukor verwenden?
wasgehtso is offline  
Old 08/07/2013, 18:04   #2
 
Saedelaere*'s Avatar
 
elite*gold: 1
Join Date: Mar 2011
Posts: 828
Received Thanks: 1,395
Du solltest dein Konzept überdenken. Erstelle dir erstmal eine Klasse Würfel, in der du dann die Box erzeugst. Die Referenz auf die Box speicherst du in einem privaten Feld der Klasse und implementierst dann die entsprechenden Getter (und evtl. Setter) Methoden.

So wird beim Erstellen des Würfels automatisch die Box erstellt und du kannst dann z.b. mit
Code:
wuerfel.getBox().setVisible(true)
auch Eigenschaften der Box ändern.
Saedelaere* is offline  
Old 08/07/2013, 18:28   #3
 
elite*gold: 0
Join Date: Feb 2010
Posts: 64
Received Thanks: 3
Quote:
Originally Posted by Saedelaere* View Post
Du solltest dein Konzept überdenken. Erstelle dir erstmal eine Klasse Würfel, in der du dann die Box erzeugst. Die Referenz auf die Box speicherst du in einem privaten Feld der Klasse und implementierst dann die entsprechenden Getter (und evtl. Setter) Methoden.

So wird beim Erstellen des Würfels automatisch die Box erstellt und du kannst dann z.b. mit
Code:
wuerfel.getBox().setVisible(true)
auch Eigenschaften der Box ändern.
man kann die Boxen doch nur im Konstruktor erstellen, und wenn ich sie im Konstruktor erstelle, kann man dazu dann noch eine get-Methode machen?
wasgehtso is offline  
Old 08/07/2013, 19:01   #4
 
elite*gold: 0
Join Date: Jan 2012
Posts: 759
Received Thanks: 416
Du kannst in jeder Methode Objekte anlegen.

Quote:
diese will ich jetzt in der Klasse Wuerfel verändern, wie kann ich also die Box übernehmen um Sie in Wuerfel verändern zu können?
Über den Konstruktor oder mit Setter dem Wuerfel-Objekt übergeben.

Quote:
Und wie kann ich einen Befehl von der Box also beispielsweise b1.setVisible außerhalb vom Konstrukor verwenden?
In deinem Beispiel speicherst du das Box-Objekt nur als lokale Variable. Wenn du es als Attribut speicherst, kannst du auch in anderen Methoden darauf zugreifen.
dowhile is offline  
Old 08/07/2013, 19:26   #5
 
Saedelaere*'s Avatar
 
elite*gold: 1
Join Date: Mar 2011
Posts: 828
Received Thanks: 1,395
Code:
class Wuerfel {

  private Box box = new Box();

  public Wuerfel {
    box.setColor("red");
  }

  public Box getBox() {
    return this.box;
  }

}
Code:
Wuerfel wuerfel = new Wuerfel();
wuerfel.getBox().setVisible(true);
Saedelaere* is offline  
Thanks
1 User
Old 08/07/2013, 20:49   #6
 
elite*gold: 0
Join Date: Apr 2006
Posts: 70
Received Thanks: 19
Generell. Klasse = Bauplan, Objekt = Instanz von Bauplan.

Wenn du im würfel objekt auf die funktionen vom main objekt zugreifen möchtest dann kannst du das über direkte referenz tun oder indem du die main zu einem Singelton machst (google: java singleton pattern).

direkte Referenz wäre so:
Code:
public  Main() {
            wuerfel w1 = new wuerfel(this);
            Box b1 = new Box();
            b1.setColor("red");
}
und in der würfelklasse siehts dann so aus
HTML Code:
public class wuerfel{
private Main main;
public wuerfel(Main _main){
   main = _main
}
}
LuckyLuke is offline  
Thanks
1 User
Old 08/08/2013, 00:07   #7
 
elite*gold: 0
Join Date: Jan 2012
Posts: 759
Received Thanks: 416
Wenn er in Wuerfel nur die Box benötigt, sollte er nicht das Main-Objekt übergeben.
dowhile is offline  
Old 08/08/2013, 00:46   #8
 
elite*gold: 0
Join Date: Apr 2006
Posts: 70
Received Thanks: 19
Ja, du hast recht, wenn er nur die Box braucht kann er diese als direkte referenz an wuerfel übergeben anstatt main komplett.
LuckyLuke is offline  
Old 08/08/2013, 17:29   #9


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,904
Received Thanks: 25,396
Das was du vorgeschlagen hast, wäre auch ein Antipattern, da damit Main zu einem Gottobjekt würde.
Zudem wäre es da noch deutlich sinnvoller, das Attribut einfach als public static zu deklarieren.
Wird Main überhaupt instanziert? Die Main Methode und alles an Attributen, worauf man von dort zugreifen will, ist doch ohnehin static.
MrSm!th is offline  
Reply


Similar Threads Similar Threads
[Service]Waffen/Objekte aus anderen Spielen
05/18/2013 - Metin2 Private Server - 9 Replies
Hey Community, Ich biete euch an Waffen/Objekte aus anderen Spielen zu holen und für Metin2 lauffähig zu machen. Aus welchen Spielen? -Aion -RunesOfMagic -Allods Optional kann ich noch zurückgreifen auf:
(B) Tausche meinen Acc (S) Acc mit anderen klassen
03/20/2013 - World of Warcraft Trading - 2 Replies
Hallo,Liebe Epvp User. Ich Tausche meinen Battle net Acc wo sich 2xAcc's mit WoW drauf befinden,alle beide accounts sind MOP Acc's,auf dem Account befinden sich 1xSpriest lvl 90 mit bissl elite Gear u T1 Waffen 1,9kexp RBG,83ger Heal Shammy,35ger Rouge,67ger DK UH,und vielen anderen char's 2ter. Acc Waffen Warri mit bissl Elite gear gemischt mit S12 Arena zeugs und S13! Gametime geht noch bis zum 20.4 WoW Armory Night Elf Priest anonymous profile build | ArmoryX <<<Priester WoW...
Tausche Acc (S) Acc mit anderen Klassen
03/03/2013 - World of Warcraft Trading - 0 Replies
Shadow Priest Elite t1 usw Warri :) bei intresse in skype adden "Currywurstfaby" dann Arsenal Link usw :)
Bukkit Java Klassen?
06/03/2011 - Technical Support - 0 Replies
Hey, ich will langsam mit java anfangen und dan neben bei selbst ohne Tutorial etwas zu scripten (Ein Plugin, was genau weiß ich noch nicht) Aber nun zur farge: Gibt es für Bukkit schon Vordefinierte Klassen oder so? P.s. bin in java nochn Noob, habe erst 2/30 Kapiteln durch (Buch java ist eine Insel) Mfg .NoThx Nachtrag: Also ich ahbe die sachen schon Gefunden:



All times are GMT +1. The time now is 08:46.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.