K (Attribute und Referenz-Attribute)
K (Attribute und Referenz-Attribute)
Zeile 10: Zeile 10:
 
* Legst du dir Variablen an um dir darin etwas zu merken
 
* Legst du dir Variablen an um dir darin etwas zu merken
  
== Attribute und Referenz-Attribute ==
+
== Attribute ==
  
Attribute sind Eigenschaften oder "Bauteile" einer Klasse.  
+
Attribute sind Eigenschaften einer Klasse.  
  
 
'''Eigenschaften''' sind z.B. <code>Haarfarbe</code>, <code>Körpergröße</code>(in Metern) oder <code>istVolljährig</code> und können in einfachen '''Variablen''' vom Typ <code>String</code> (Text), <code>double</code> (Kommazahl) bzw. <code>boolean</code> (Wahrheitswert) usw. gespeichert werden. Sie können einen '''Wert''' speichern.
 
'''Eigenschaften''' sind z.B. <code>Haarfarbe</code>, <code>Körpergröße</code>(in Metern) oder <code>istVolljährig</code> und können in einfachen '''Variablen''' vom Typ <code>String</code> (Text), <code>double</code> (Kommazahl) bzw. <code>boolean</code> (Wahrheitswert) usw. gespeichert werden. Sie können einen '''Wert''' speichern.
Zeile 18: Zeile 18:
 
<source lang="java">
 
<source lang="java">
 
public class Person
 
public class Person
...
 
 
{
 
{
 
   private String haarfarbe;
 
   private String haarfarbe;
Zeile 33: Zeile 32:
 
</source>
 
</source>
  
In der Klasse <code>Person</code> '''deklarieren''' wir die drei Attribute. Das geht allgemein nach folgendem Prinzip: <code>private Datentyp variablenName</code>.  
+
Die Klasse <code>Person</code> erbt von keiner anderen Klasse. In ihr '''deklarieren''' wir drei Attribute. Das geht allgemein nach folgendem Prinzip: <code>private Datentyp variablenName</code>.  
 
Im Konstruktor sollte man die Attribute dann mit Anfangswerten (für das neue Objekt) '''initialisieren'''. Das geht allgemein nach folgendem Prinzip: <code>this.variablenName = wert</code>. Der Wert muss je nach Datentyp richtig geschrieben werden.
 
Im Konstruktor sollte man die Attribute dann mit Anfangswerten (für das neue Objekt) '''initialisieren'''. Das geht allgemein nach folgendem Prinzip: <code>this.variablenName = wert</code>. Der Wert muss je nach Datentyp richtig geschrieben werden.
  
'''"Bauteile"''' einer Grafik sind z.B. bei einem Haus die Wand und das Dach oder bei einer Ampel das Gehäuse und die Lampen. In diesen Fällen ist der '''Typ''' des Attributs dann der Name einer '''Klasse''', in diesem Beispiel also <code>RECHTECK</code>, <code>DREIECK</code> oder <code>KREIS</code> usw. ... . Ist der Typ des Attributs eine Klasse, dann spricht man von einer '''Referenz''' und nicht mehr von einer Variablen. Referenzen sind '''eigenständige Objekte''' deren Methoden man aufrufen kann.
+
Erstelle die Klasse Person wie oben gezeigt. Diese Klasse
 +
 
 +
== Referenzen ==
 +
 
 +
Referenzen sind "Bauteile" einer Klasse.
 +
 
 +
'''"Bauteile"''' einer 2D-Grafik sind z.B. bei einem Haus die Wand und das Dach oder bei einer Ampel das Gehäuse und die Lampen. In diesen Fällen ist der '''Typ''' des Attributs dann der Name einer '''Klasse''', in diesem Beispiel also <code>RECHTECK</code>, <code>DREIECK</code> oder <code>KREIS</code> usw. ... . Ist der Typ des Attributs eine Klasse, dann spricht man von einer '''Referenz''' und nicht mehr von einer Variablen. Referenzen sind '''eigenständige Objekte''' deren Methoden man aufrufen kann.
 +
 
 +
<source lang="java">
 +
public class Haus
 +
{
 +
  private RECHTECK wand;
 +
  private DREIECK dach;
 +
 
 +
  public Person()
 +
  {
 +
      this.wand = new RECHTECK(16,9):
 +
      this.dach.setzeMittelpunkt(0,-3);
 +
      this.dach.setzeFarbe("weiss");
 +
     
 +
      this.dach = new DREIECK(-8,1.5,8,1.5,0,6);
 +
      this.dach.setzeFarbe("rot");
 +
  }
 +
}
 +
</source>

Version vom 6. Januar 2020, 00:25 Uhr


Dies ist ein Tutorial für die Edu-Variante der Engine Alpha 4.x. Eine Übersicht aller Edu-Tutorials siehst du hier.

Inhalt

In diesem Tutorial:

  • Baust du mehrere Einzelteile zu einem Ganzen durch Referenzen zusammen
  • Legst du dir Variablen an um dir darin etwas zu merken

Attribute

Attribute sind Eigenschaften einer Klasse.

Eigenschaften sind z.B. Haarfarbe, Körpergröße(in Metern) oder istVolljährig und können in einfachen Variablen vom Typ String (Text), double (Kommazahl) bzw. boolean (Wahrheitswert) usw. gespeichert werden. Sie können einen Wert speichern.

public class Person
{
   private String haarfarbe;
   private double koerperGroesse;
   private boolean istVolljaehrig;
   
   public Person()
   {
      this.haarfarbe = "dunkelblond";
      this.koerperGroesse = 1.75;
      this.istVolljaehrig = false;
   }
}

Die Klasse Person erbt von keiner anderen Klasse. In ihr deklarieren wir drei Attribute. Das geht allgemein nach folgendem Prinzip: private Datentyp variablenName. Im Konstruktor sollte man die Attribute dann mit Anfangswerten (für das neue Objekt) initialisieren. Das geht allgemein nach folgendem Prinzip: this.variablenName = wert. Der Wert muss je nach Datentyp richtig geschrieben werden.

Erstelle die Klasse Person wie oben gezeigt. Diese Klasse

Referenzen

Referenzen sind "Bauteile" einer Klasse.

"Bauteile" einer 2D-Grafik sind z.B. bei einem Haus die Wand und das Dach oder bei einer Ampel das Gehäuse und die Lampen. In diesen Fällen ist der Typ des Attributs dann der Name einer Klasse, in diesem Beispiel also RECHTECK, DREIECK oder KREIS usw. ... . Ist der Typ des Attributs eine Klasse, dann spricht man von einer Referenz und nicht mehr von einer Variablen. Referenzen sind eigenständige Objekte deren Methoden man aufrufen kann.

public class Haus
{
   private RECHTECK wand;
   private DREIECK dach;
   
   public Person()
   {
      this.wand = new RECHTECK(16,9):
      this.dach.setzeMittelpunkt(0,-3);
      this.dach.setzeFarbe("weiss");
      
      this.dach = new DREIECK(-8,1.5,8,1.5,0,6);
      this.dach.setzeFarbe("rot");
   }
}