Systemvariablen(Startparameter) statisch oder als Objekt?

Status
Nicht offen für weitere Antworten.

Cheefrocker

Bekanntes Mitglied
Hallo zusammen!

Ich hätte da mal ne Frage:

Wie speichere ich folgende Information(Variablen) am besten ab um von allen Klassen komfortable auf diese Properties zugreifen zu können? Die einfachste Lösung ist über plublic static zu gehen, jedoch wollt ich fragen ob das so gut ist oder ich es lieber anders machen soll? Mehr im Sinne von OOP?

Wenn main aufgerufen wird. Sollen z.b UserID, Druckerpfad etc abgespeichert werden. Andere Klassen sollen zugriff darauf haben.

Wenn sich die Startparameter(args) ändern sollten diese Variablen wieder überschreiben werden.


Was meint ihr wie ich das machen soll??


Wäre für jeden Tipp dankbar!
 

Cheefrocker

Bekanntes Mitglied
Ich meinte mit den Properties meine eigenen Properties, z.b kann ich
per Start dem bestimmte Parameter liefern mit dehnen er weitere Sachen steuert....

ein kurzes Beispiel zur UserID.

Wenn beim starten den Programmes die UserID nicht manuell übergeben wird, greift er auf die eingeloggte UserID zu.

Hoffe du(ihr) versteht was ich meine!

Ich benutze JDK 1.4.2

Gruss
 
A

Anmeldeboykottierer

Gast
Hi,
solange du die Daten nicht speichern möchtest sehe ich keinen großen Vorteil in Properties.
An sich solltest du einfach (ganz im Sinne der OOP) auf Kapselung zurück greifen. Du gewährst dabei keinen direkten Zugriff auf Variablen sondern verwendest Getter und Setter. Der Vorteil liegt dann darin, dass du Variablen z.B. leicht Read-Only setzen kannst (oder nur Öffentlich Read-Only).
Rufst du eine Methode auf, so merkst du auch leicht, ob ein Wert schon gesetzt wurde. Im Falle der UserID nimmst du dann getUserId(), schaust hier nach ob die mit setUserId schon gesetzt wurde, ist die nicht der Fall ermittelst du dann halt die Standardrückgabe.

Gruß Der Anmeldebokottierer
 

Cheefrocker

Bekanntes Mitglied
Danke dir Anmeldeboykottierer!
Die Daten sollen nicht gespeichert werden, jedoch muss ich von anderen Packages(bzw Klassen) drauf zugreifen können.

Momenatan hab ich das mit Properties gelöst.In main wird die PropertyKlasse mit den Standardwerten gefühlt(setProperty...). Danach wird überprüft ob args[] Werte enthält, wenn ja wird die Property-Klasse angepasst.

Dazu muss ich sagen, das ich die Property-Klasse public und static deklariert habe. Ist das so in Ordnung? Ich muss ja von anderen Klassen drauf zugreifen können. Das ist war für mich die einfachste Lösung!
Kann ich da so vorgehen oder wird das anders gehandhabt???
 

SnooP

Top Contributor
ich hätte sie private gesetzt und eine public getProperties() Methode geschrieben, sonst kann ja jede Klasse direkt auf die Properties zugreifen... auch schreibend.
Eine entsprechende Assoziation zu der Klasse, die die Properties hält, sollte somit irgendwo schon bestehen...
 

Cheefrocker

Bekanntes Mitglied
SnooP hat gesagt.:
ich hätte sie private gesetzt und eine public getProperties() Methode geschrieben, sonst kann ja jede Klasse direkt auf die Properties zugreifen... auch schreibend.
Eine entsprechende Assoziation zu der Klasse, die die Properties hält, sollte somit irgendwo schon bestehen...

Ich probier es mal aus. Werde dann das Ergebnis hier posten!


mfg :wink:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T C++: wxWidgets statisch linken mit GCC Softwareentwicklung 3

Ähnliche Java Themen


Oben