You are not logged in.

  • Login

1

Friday, June 9th 2006, 5:33pm

Structs in Java?

Hi Leute.

Ich hab gleich eine erste Frage:
Wie erstelle ich structs (wie in C++) in Java?

Gruß
hornetracer83

2

Friday, June 9th 2006, 5:38pm

ok, ich habe gerade woanders erfahren, dass Java keine structs kennt :-(

Aber man kann durch einfache Klassen sowas realisieren:

Java Quellcode

1
2
3
4
5
6
public class meinStrukt {
  public string Name;
  public int X;
  public int Y;
  public double SchuhGroesse;
}

3

Wednesday, June 28th 2006, 5:53am

Structs sind überflüßig

Structs sind ein Überbleibsel aus strukturellen Programmiersprachen wie C und Pascal (dort heißen sie records) und wurden in Java nicht mit aufgenommen, da Klassen im Prinzip eine Erweiterung der Structs sind.

Außerdem ist die von Dir erzeugte Klasse nicht mit der Datenkapselung des OOP vereinbar. Die Attribute müssen als oder protected deklariert werden und der Zugriff auf diese Attribute muss durch Methoden erfolgen.
Auch sollte ein Objekt von der Stringklasse erzeugt werden.

Demnach würde dann dein "Struct" so aussehen:

Java Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
public class meinStrukt     //eigentlich Klasse
{
  protected String Name;
  protected int X;
  protected int Y;
  protected double SchuhGroesse;
 
  meinStrukt()       //Standardkonstruktor zum Erzeugen des Stringobjekts
  {
      String Name = new String();
  }
 
  public void setName(String Name)
  {
      this.Name = Name;
  }
 
  public String getName()
  {
     return Name;
  }
 
  public void setX(int X)
  {
      this.X = X;
   }
 
  public int getX()
  {
      return X;
  }
 
  public void setY(int Y)
  {
      this.Y = Y;
  }
 
  public int getY()
  {
      return Y;
  }
 
  public void setSchuhGroesse(double SchuhGroesse)
  {
      this.SchuhGroesse = SchuhGroesse;
  }
 
  public double getSchuhGroesse()
  {
      return SchuhGroesse;
  }
}

4

Wednesday, June 28th 2006, 7:13am

hi, na sicher, du hast ja recht, ich hab das Beispiel ja nur schnell gepostet, um die Möglichkeit zu zeigen, Structs durch Klassen zu realisieren.
Aber trotzdem danke für deine Antwort! :wink:

Social bookmarks