Java Basis-Sprachelemente: Unterschied zwischen den Versionen

Aus SibiWiki
Zur Navigation springen Zur Suche springen
Zeile 115: Zeile 115:


'''Beispiel:'''
'''Beispiel:'''
Für ein Objekt der Klasse Krabbe soll die Geschwindigkeit festgelegt werden können.
Für ein Objekt der Klasse Krabbe soll die Geschwindigkeit festgelegt werden können. Außerdem soll man die Geschwindigkeit auslesen können.
<code>
<code>
  public class Crab
  {
    // Attribute
    private int geschwindigkeit; 
   
    // Konstruktor
    public Crab()
    {
      turn(50);
    }
   
    // Methoden
    <u>'''public void setzeGeschwindigkeit(int neueGeschwindigkeit)'''</u>
    <u>{</u>
      <u>geschwindigkeit = neueGeschwindigkeit;</u>
    <u>}</u>
     
    <u>'''public int gibGeschwindigkeit()'''</u> 
    <u>{</u>
        <u>return geschwindigkeit;</u>
    <u>}</u>
  }
</code>
</code>



Version vom 16. September 2013, 20:09 Uhr


Anforderungen Zentralabitur

Das Zentralabitur fordert die Kenntnis von bestimmten Basis-Sprachelementen, die hier aufgeführt sind.

Im folgenden werden diese und weitere Basis-Sprachelemente erläutert.

Stand: 2012 (im April 2013 noch aktuell)

  • Klassendefinitionen
  • Beziehungen zwischen Klassen
    • gerichtetete Assoziation
    • Vererbung
  • Attribute und Methoden (mit Parametern und Rückgabewerten)
  • Wertzuweisungen
  • Verzweigungen (if, switch)
  • Schleifen (while, for, do-while)


Klasse, Objekt, Klassendefinition

  • Von einer Klasse können viele Objekte erzeugt werden.
  • Beispiel: Es gibt eine Klasse Crab, von der man viele einzelne Objekte erzeugen kann.
  • Java: Definiton einer Klasse:

 public class Crab
 {
    // Attribute
         
    // Konstruktor
         
    // Methoden
 }

Attribute

  • Attribute beschreiben, welche Eigenschaften bzw. Teil-Objekte die Objekte einer Klasse haben.
  • Jedes Attribut kann für jedes einzelne Objekt einer Klasseeinen anderen Wert, den Attribut-Wert haben.
    • Beispiel: Die eine Krabbe hat die Geschwindigkeit 5, die andere Krabbe hat die Geschwindigkeit 10.
  • Attribute haben einen Attribut-Typ. Für Geschwindigkeiten ist beispielsweise ein Zahltyp sinnvoll, etwa int für ganze Zahlen. Für Namen eignet sich String.
  • Java:
    • Attribute werden direkt nach der Klassen-Deklaration notiert.
    • Attribute sind in der Regel private, d.h. sie können nicht ohne Weiteres von Außen verändert werden.

Beispiel 1:

Objekte der Klasse Crab können unterschiedliche Geschwindigkeiten haben.

Dafür gibt es das Attribut geschwindigkeit

public class Crab
{
  // Attribute
  private int geschwindigkeit;
         
  // Konstruktor
   
  // Methoden
}


Beispiel 2:


Objekte der Klasse Baum bestehen aus einen Quadrat (für den Stamm) und einem Kreis (für die Krone).


 public class Baum
 {
   // Attribute
   private Quadrat stamm;
   private Kreis krone;
        
   // Konstruktor
      
   // Methoden
 }

Konstruktor

Aufruf des Konstruktors:

  • Um ein neues Objekt einer Klasse zu erzeugen, ruft man den Konstruktor der Klasse auf, z.B.:
  • Java: Crab neueKrabbe = new Crab();

Deklaration des Konstruktors:

  • In der Deklaration des Konstruktors wird festgelegt, was passiert, wenn ein Objekt der Klasse erzeugt wird.
  • Der Konstruktor heißt genauso wie die Klasse.
  • Der Konstruktor hat keinen Rückgabetyp, also auch kein void.

Beispiel:

 public class Crab
 {
   // Attribute
   private int geschwindigkeit;   
    
   // Konstruktor
   public Crab()
   {
     turn(50);
   }
  
   // Methoden
 }

Dadurch wird jede Krabbe bei der Erzeugung um 50 Grad gedreht.

Methoden

In Methoden wird festgelegt, was man mit einem Objekt der Klasse machen kann.

Beispiel: Für ein Objekt der Klasse Krabbe soll die Geschwindigkeit festgelegt werden können. Außerdem soll man die Geschwindigkeit auslesen können.

 public class Crab
 {
   // Attribute
   private int geschwindigkeit;   
    
   // Konstruktor
   public Crab()
   {
     turn(50);
   }
    
   // Methoden
   public void setzeGeschwindigkeit(int neueGeschwindigkeit)
   {
      geschwindigkeit = neueGeschwindigkeit;
   }
     
   public int gibGeschwindigkeit()   
   {
       return geschwindigkeit;
   }
 }

Wertzuweisungen

TODO

Verzweigungen (if, switch)

TODO

Schleifen (while, for, do-while)

TODO

Beziehungen zwischen Klassen

TODO

gerichtetete Assoziation

TODO

Vererbung

TODO