Java Basis-Sprachelemente: Unterschied zwischen den Versionen

Aus SibiWiki
Zur Navigation springen Zur Suche springen
Zeile 167: Zeile 167:
** Beispiel: <code>public <u>int</u> gibGeschwindigkeit()</code>
** Beispiel: <code>public <u>int</u> gibGeschwindigkeit()</code>
* Statt <code>int</code> kann auch jeder andere Typ oder auch eine Klasse (z.B. <code>Crab</code>) der Rückgabe-Typ einer Methode sein.
* Statt <code>int</code> kann auch jeder andere Typ oder auch eine Klasse (z.B. <code>Crab</code>) der Rückgabe-Typ einer Methode sein.
** Beispiel: <code>public <u>Crab</u> gibKopie()</code> : Diese Methode würde eine Kopie der Krabbe (also ein Objekt der Klasse <code>Crab</code> zurückgeben.
** Beispiel: <code>public <u>Crab</u> gibKopie()</code> : Diese Methode würde eine Kopie der Krabbe (also ein Objekt der Klasse <code>Crab</code>) zurückgeben.


= Wertzuweisungen =
= Wertzuweisungen =

Version vom 16. September 2013, 20:27 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;
   }
 }

Parameter

  • Manche Methoden brauchen eine zusätzliche Information, um richtig arbeiten zu können.
  • Das ist hier der Fall bei der Methode setzeGeschwindigkeit: Damit sie sinnvoll arbeiten kann, muss man angeben können, wie groß die Geschwindigkeit sein soll.
  • Dafür haben Methoden Parameter, in diesem Fall neueGeschwindigkeit.
  • Bei Parametern muss immer der Typ festgelegt werden; man spricht von Parameter-Typ.
    • Der Parameter-Typ von neueGeschwindigkeit ist int, also eine ganze Zahl.
  • Wenn eine Methode mit Parameter aufgerufen wird, dann muss man den Parameter übergeben:

 Crab c = new Crab();
 c.setzeGeschwindigkeit(10);

  • Bei Methoden ohne Parameter steht nach dem Methoden-Namen nur (). Das ist wichtig, um sie von Attribute zu unterscheiden!

sondierende Methode / verändernde Methode

  • sondierende Methode: Dieser Methodentyp gibt eine Information über das Objekt zurück.
    • Beispiel: public int gibGeschwindigkeit()
  • verändernde Methode: Dieser Methodentyp verändert das Objekt.
    • Beispiel: public void setzeGeschwindigkeit()

Rückgabetyp einer Methode

Für eine Methode wird immer der Rückgabetyp festgelegt.

  • void: Wenn die Methode nichts zurückgibt (bei einer verändernden Methode).
    • Beispiel: public void setzeGeschwindigkeit(int neueGeschwindigkeit)
  • int: Wenn die Methode eine ganze Zahl (int) zurückgibt.
    • Beispiel: public int gibGeschwindigkeit()
  • Statt int kann auch jeder andere Typ oder auch eine Klasse (z.B. Crab) der Rückgabe-Typ einer Methode sein.
    • Beispiel: public Crab gibKopie() : Diese Methode würde eine Kopie der Krabbe (also ein Objekt der Klasse Crab) zurückgeben.

Wertzuweisungen

TODO

Verzweigungen (if, switch)

TODO

Schleifen (while, for, do-while)

TODO

Beziehungen zwischen Klassen

TODO

gerichtetete Assoziation

TODO

Vererbung

TODO