# Variablen und ihre existenz



## Nobody (19. Jul 2003)

so ich bin noch immer an meinem spiel und stelle fest, das ich für die meisten meiner klassen die gleichen variablen benötige. am anfang des projektes habe ich sowas in der art schon geahnt und habe daher eine extra klasse dafür angelegt. nun zu meiner frage:

wenn ich diese klasse jetzt in jeder meiner klasse implementiere, sind dann die variablen immer die gleichen oder werden diese jedesmal für sich neu angelegt?

zur verdeutlichung noch das verhältniss zwischen den klassen wie ich sie jetzt habe:

-application1 (enthält die main methode und startet oberfläche //jbuilder standart)
-die oberfläche: erstellt das fenster und zeichnet das, was die anderen klassen im zurückgeben bzw was in den variablen gespeichert ist.
ruft folgende klassen auf: terrain, variablen und panzer (bisher)
-terrain: berrechnet beim 1. start per zufallszahlen die höhen der kampfoberfläche aufgrund einer skallierung. speicherung erfolgt in einem array aufgrund dessen das oberflächenpolygon gezeichnet wird. berechnet ebenfalls die streckung/zerrung dieses feldes
-variablen: sollte ursprünglich alle variablen speichern, da ich aber nicht weis ob die existenz der variablen stimmt, habe ich immer mehr in den anderen klassen gespeichert
-panzer: ist grad in arbeit und soll die position der panzer bestimmen anhand der höhe und gleichmässigen abständen


funzt das nun wenn ich die variablen klasse in jeder klasse verfügbar mache.
wenn es funzt geht das doch folgendermassen oder?

```
Variablen v= new Variablen();
```


----------



## DTR (19. Jul 2003)

Das kommt darauf an, wie du sie deklarierest. Wenn du sie static deklarierst ist es immer die selbe Variable für alle Objekte, ohne static wird für jedes Objekt eine eigen Variable angelegt.


----------



## Nobody (19. Jul 2003)

sie sollen während der laufzeit verändert werden daher geht das wohl nicht.

war mein gedanke mit der vererbung also doch richtig thx


----------



## stev.glasow (19. Jul 2003)

Nobody hat gesagt.:
			
		

> sie sollen während der laufzeit verändert werden daher geht das wohl nicht.
> 
> war mein gedanke mit der vererbung also doch richtig thx



wie meinst du das ?


wenn du in der klasse 'variablen' ein variable 'x' static setzt. arbeiten alle klassen die diese variable über 'variablen.x' ansprechen mit dem leichen wert. und wenn x nicht auf final gesetzt ist ist x auch veränderbar.


----------



## Nobody (19. Jul 2003)

axo dann habe ich das falsch verstanden

also ich programmiere das spiel tankwars und bei einem treffer ist es sinnvoll auch die health zu reduzieren


----------



## stev.glasow (19. Jul 2003)

:arrow:  also löst 'static' das problem ?

 :arrow:  kannst du mir mal deine signatur
(
Als Hirte erlaube mir zu dienen mein Vater dir. Deine Kraft reichst du uns durch deine Hand, diese verbindet uns wie ein heiliges Band. Wir waaten durch ein Meer von Blut gib uns dafür Kraft und Mut. In nomini patris et filie et spiritusancti.
) erklären ?


----------



## Nobody (20. Jul 2003)

mit statistic teste ich nacher gleich mal


ist ein zitat aus meinem lieblingsfilm der blutige Pfad Gottes:
http://www.25frames.org/php_filme/show_movie.php?film_id=3989&refid=1


----------



## Nobody (20. Jul 2003)

/€ so nun scheint das ganze zu funzen. schon komsich, das java einen unterschied zwischen 696 und 696.0 macht


----------



## DTR (23. Jul 2003)

Das ist nicht komisch, sonder sehr sinnvoll und kann dir ne Menge arbeit ersparen, wenn du ganzahldivision brauchst.


----------



## Nobody (23. Jul 2003)

wenn ich das haben will mach ich folgendes:
ganzzahligevariable=(int)(10/3); 

so mal als beispiel und ist das kompliziert?
ich glaube nein


----------



## DTR (24. Jul 2003)

Aber nur weil 10 <> 10.0 ist.


----------

