myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

Java Klassenattribute aus Array

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 11.11.13, 15:12   #1
Dante1253
Mitglied
 
Registriert seit: Aug 2009
Beiträge: 398
Bedankt: 131
Dante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt PunkteDante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt PunkteDante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt PunkteDante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt PunkteDante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt PunkteDante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt PunkteDante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt PunkteDante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt PunkteDante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt PunkteDante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt PunkteDante1253 leckt gerne myGully Deckel in der Kanalisation! | 310855 Respekt Punkte
Standard Java Klassenattribute aus Array

Hallo!

Ich bin Java-Neuling und bin gerade dabei ein kleines Projekt zu schreiben, um die Sprache zu lernen.
Aus PHP kenne ich die Möglichkeit in einer Klasse faktisch folgendes zu tun:

Code:
foreach ($array as $key => $value) {
$this->$key = $value;
}
Will heißen: Ich bekomme einen Array (alternativ auch einen anderen iterierbaren Datentypen) und kann Klassenattribute die den Namen des jeweiligen Keys tragen mit dem zugehörigen Wert ausstatten.

Nun meine Frage: Geht das in Java auch? Also gibt es eine Möglichkeit, auf die Klassenattribute (respektive natürlich Objektattribute!) in dieser Form zuzugreifen?

Danke vielmals & liebe Grüße!
Dante1253 ist offline   Mit Zitat antworten
Ungelesen 11.11.13, 17:03   #2
ProgMaster
Banned
 
Registriert seit: Mar 2012
Beiträge: 337
Bedankt: 93
ProgMaster ist noch neu hier! | 0 Respekt Punkte
Standard

Das geht via Reflection.
ProgMaster ist offline   Mit Zitat antworten
Ungelesen 11.11.13, 21:00   #3
XxeragonxX
Erfahrener Newbie
 
Registriert seit: Jul 2010
Beiträge: 191
Bedankt: 34
XxeragonxX ist noch neu hier! | 9 Respekt Punkte
Standard

Das ist einfach eine Map<Key,Value>. Wobei Key ein Datentyp sein muss der Equals bzw den Hashcode überschrieben haben muss und eindeutig ist. Es kann nicht 2 selbe Keys in einer Map geben. Ein Key kann nur ein Objekt sein kein einfacher Datentyp. Die Value bekommt man mit map.get(Key). Alternativ kann man natürlich trüber iterieren. Mit map.values() bekommt man einen value Iterator mit entrySet() Value + dem Key und keySet() nur die Keys.

Die Klasse String eignet sich z.B sehr gut als Key Attribut.
XxeragonxX ist offline   Mit Zitat antworten
Ungelesen 12.11.13, 06:31   #4
NetWebs
Banned
 
Registriert seit: Aug 2012
Beiträge: 223
Bedankt: 68
NetWebs ist noch neu hier! | 0 Respekt Punkte
Standard

@xxeragonxx

Wohl am Thema vorbeigelesen. Er möchte Klassenattribute setzen!
NetWebs ist offline   Mit Zitat antworten
Ungelesen 12.11.13, 06:43   #5
Matze500
Student der Informatik
 
Registriert seit: Jul 2010
Ort: NRW nähe Münster ;)
Beiträge: 355
Bedankt: 261
Matze500 ist noch neu hier! | 0 Respekt Punkte
Standard

Müssten das nicht der Konstruktor bzw Getter,Setter sei die du suchst ?
__________________
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
Powered by Windows 7
Matze500 ist offline   Mit Zitat antworten
Ungelesen 12.11.13, 16:47   #6
ProgMaster
Banned
 
Registriert seit: Mar 2012
Beiträge: 337
Bedankt: 93
ProgMaster ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
Zitat von Matze500 Beitrag anzeigen
Müssten das nicht der Konstruktor bzw Getter,Setter sei die du suchst ?
Weißt du wovon du redest? Wie willst du das während der Runtime machen???
ProgMaster ist offline   Mit Zitat antworten
Ungelesen 12.11.13, 16:48   #7
XxeragonxX
Erfahrener Newbie
 
Registriert seit: Jul 2010
Beiträge: 191
Bedankt: 34
XxeragonxX ist noch neu hier! | 9 Respekt Punkte
Standard

Achso ich hab nur Key und Value gelesen und bei PHP wars eh schon vorbeixd

Aber mal ehrlich so etwas wie Attribute eines Objektes setzten lernt man in jedem Anfänger Tut im 2 Kapitel.

In OO Sprachen wie Java sollte ein Objekt seine Attribute nur selbst ändern können deshalb gibt es z.B in Java das Schlüsselwort private. Die Sichtbarkeit der Attribute sind daher sehr beschränkt. Um anderen Objekten dennoch das ändern der Werte zu ermöglichen kann man explizit Getter/Setter Methoden deklarieren (gidf) und es außenstehenden Objekten ermöglichen die Werte durch diese Methoden zu manipulieren bzw. auszulesen.

Ich glaube der OT meint etwas anderes und drückt sich einfach nur falsch aus. Ich kann mir nicht vorstellen, dass ein Java Neuling so etwas wie Reflection meint.
XxeragonxX ist offline   Mit Zitat antworten
Ungelesen 12.11.13, 17:08   #8
NetWebs
Banned
 
Registriert seit: Aug 2012
Beiträge: 223
Bedankt: 68
NetWebs ist noch neu hier! | 0 Respekt Punkte
Standard

Das was der TE beschreibt ist nur via Reflection möglich und Reflection sollte auch einem Anfänger bekannt sein.
NetWebs ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:22 Uhr.


Sitemap

().