Veröffentlicht 29. Januar 200322 j Hi! Ich hab ein kleines Problemchen. Ich habe ein recht grosses Projekt hier, das ich in zig kleinere Klassen unterteilt hab, weil ist übersichtlicher und so. Jetzt habe ich aber das Problem, das ich von einer Klasse "A" aus auf Variablen zugreifen (lesen und schreiben) muss, welche in Klasse "B" deklariert sind. Leider kann ich nicht mir Parameterübergabe arbeiten, da es an dieser Stelle einfach zuviel Zeitaufwand bedeuten würde. Momentan bekomme ich immer den Fehler "xyz cannot be resolved" bla. Gibt es eine Möglichkeit, wie ich diese Problematik umgehen kann und mir nicht den ganzen Mist mit der Parameterübergabe aufhalsen muss? Gruss, vorticone
29. Januar 200322 j Also du definierst in Klasse B eine Variable "public int test = 999;". Dann kannst du in Klasse A mit "int klasseAInt = B.test;" Damit hat klasseAInt den Wert von test der Klasse B. Wenn mich jetzt nicht alles täuscht müsste das mit dem setzen neuer Werte genauso gehen. Wenn du aber noch kein Objekt der Klasse B erzeugt hast, oder erzeugen willst, dann mußt du natürlich die Varablen in Klasse B "static" deklarieren. Ansonsten würde ich mit get() und set()-Methoden arbeiten. Peeter
29. Januar 200322 j Hmm, bin noch ein rechter Newbie in Java, aber werd das mal ausprobieren. edit: Tatsache, hat geklappt. Hatte die Variablen nicht als static deklariert. Danke für den Tip, sollte nun erstmal alleine weiterkommen.
29. Januar 200322 j Programmierst du das in einer Entwicklungsumgebung wie z.B. Visual Age for Java? Dort gibt es ein Feature, das die get() und set() automatisch generiert... Gruß, sharky
29. Januar 200322 j Oh, dann etwas einfacher. public class B { public static int test = 555; . . } public class A { . . private int wert = B.test; // Damit hat "wert" den Wert von "test" } Und bei get() und set() Methoden sieht´s so aus: Erst mal wie oben, nur das dann noch 2 Methoden (in der Klasse zu jeder Variablen dazu kommen. Eine setTest() und eine getTest(). public void setTest(int test){ this.test = test; } public int getTest(){ return test; } Peeter ~~~ edit ~~~ Verdammt, zu langsam. Schön, wenn´s geklappt hat!! Besser ist´s aber wenn du mit get() und set() Methoden arbeitest!!
29. Januar 200322 j Ich arbeite mit dem Tool Eclipse als Entwicklungsumgebung. Momentan hab ich das ganze noch über static Variablen gemanaged, aber werde das vielleicht später noch umstellen. Ich bastel gerade eh erst am Grundgerüst, und bis ich soweit bin hab ich dann vielleicht auf get/set verstanden... *g*
29. Januar 200322 j Ansich get das mit get() und set() Methoden besser. Da ist der objektorientierte Ansatz besser!!
29. Januar 200322 j Originally posted by vorticone Hatte die Variablen nicht als static deklariert. Am besten, du schnappst dir erst einmal ein Buch und lernst, was eine objektorientierte Sprache ausmacht. Wenn du so wie jetzt programmierst, soltest du besser VB oder C nehmen. Gruß Jaraz
29. Januar 200322 j Originally posted by Jaraz Am besten, du schnappst dir erst einmal ein Buch und lernst, was eine objektorientierte Sprache ausmacht. Wenn du so wie jetzt programmierst, soltest du besser VB oder C nehmen. Gruß Jaraz Glaub mir mal, wenn ich die Wahl hätte würde ich auch C nehmen... aber geht nunmal nicht. Hier in der Firma und in der Berufsschule auch gibts nur Java, sonst nix. ...
29. Januar 200322 j Originally posted by vorticone Glaub mir mal, wenn ich die Wahl hätte würde ich auch C nehmen Das merkt man. Originally posted by vorticone Hier in der Firma und in der Berufsschule auch gibts nur Java, sonst nix. Wie schon gesagt, würde ich das dann aber auch richtig angehen und nicht mit Java prozedural programmieren. Gruß Jaraz PS: Hier ist ne gute Zusammenfassung: http://www.boku.ac.at/javaeinf/jein1.html#object
29. Januar 200322 j Danke erstmal für den Link, Jaraz. Werd mir das ganze nochmal durch den Kopf gehen lassen, aber momentan fehlt mir irgendwie der richtige Ansatz, um das objektorientiert umzusetzen...
29. Januar 200322 j Such dir doch mal einen Java-Entwickler aus deiner Firma der mit dir zusammen ein Klassendiagramm erstellt. Dadurch lernst du eine Menge über OOD und hast einen guten Ansatz für's Programmieren.
30. Januar 200322 j Hallo, wir nehmen bei uns in der Schule das "NetBeans IDE 3.4" und das gute, es ist Freeware und echt gut. Greetz Sound
30. Januar 200322 j Versucht´s erst mal mit richtig coden. Einfach nen Texteditor nehmen und los geht´s. So lernt man am besten und am schnellsten!!
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.