Klasse: Unterschied zwischen den Versionen

Aus SibiWiki
Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:
[[Kategorie:Informatik]] [[Kategorie:Informatik-EF]]
[[Kategorie:Informatik]] [[Kategorie:Informatik-EF]]


Hier ist beispielhaft der Quelltext der Klasse <code>Crab</code> dokumentiert.
Hier ist beispielhaft der Quelltext der Klasse <code>Baum</code> dokumentiert.


Im Detail erläutert werden die einzelnen Sprachelemente hier: [[Java Basis-Sprachelemente]].
Im Detail erläutert werden die einzelnen Sprachelemente hier: [[Java Basis-Sprachelemente]].
Zeile 7: Zeile 7:


<code>
<code>
// *** Klassendeklaration ***
  '''// Klassendeklaration'''
// Crab extends Actor bedeutet:
  public class Baum
// - Crab IST EIN Actor
// - Crab kann alles, was Actor auch kann
'''public class Crab extends Actor'''
   {
   {
    // *** Attribute ***
      
    '''// Attribute'''
    '''private int geschwindigkeit = 5;'''
     private Quadrat stamm;
    '''private int lebensdauer;'''
    private Kreis krone;
   
    private boolean istRot;
    // *** Konstruktor ***
    // der Konstruktor wird aufgerufen, wenn ein Objekt
    '''// Konstruktor'''
    // der Klasse Krabbe erzeugt wird.
    public Baum()
    '''public Crab()'''
    {
    {
        '''// Aufruf eines Konstruktors: Schluesselwort new'''
        // Aufruf der Methode turn aus der Klasse Actor
        stamm = new Quadrat();
        turn(50);
        lebensdauer = 100;
        '''// Aufruf einer Methode fuer ein anderes Objekt.'''
    }
        '''// Attributname -> Punkt -> Methodenname
   
        '''// Es wird ein Parameter uebergeben (30)'''
   
        stamm.groesseAendern(30);
    // *** Methoden ***
 
   
        '''// hier werden zwei Parameter uebergeben; getrennt durch Kommas.'''
    '''public void act()'''
        stamm.bewegeZuPosition(30,60);
    {
 
        // Aufruf der Methode getX() der Klasse Actor
        '''// hier wird ein String als Parameter uebergeben: "schwarz"'''
        if(getX() > 500)
        stamm.farbeAendern("schwarz");
        {
        krone = new Kreis();
            turn(10);
        krone.bewegeZuPosition(20,20);
        }
        krone.groesseAendern(50);
        if(getX() < 50)
        krone.farbeAendern("gruen");
        {
        istRot = false;
            turn(-10);
 
        }
        '''//Aufruf einer Methode der Klasse Baum'''
        if(getY() > 500)
        sichtbarMachen();
        {
    }
            turn(10);
 
        }
    '''// Methode OHNE Rueckgabe und OHNE Parameter: Schluesselwort void, leere Klammern ()'''
        if(getY() < 50)
    public void sichtbarMachen()
        {
    {
            turn(-10);
        stamm.sichtbarMachen();
        }
        krone.sichtbarMachen();
       
    }
        // Aufruf der Methode move der Klasse Actor
 
        move(geschwindigkeit);
    '''//Methode mit einem Parameter: (Parametertyp Parametername)'''
       
    public void horizontalBewegen(int distanz)
        // neue Lebensdauer = alte Lebensdauer - 1
    {
        lebensdauer = lebensdauer - 1;
        '''//der Parameter wird weiterverwendet'''
          
        stamm.horizontalBewegen(distanz);
        if(lebensdauer < 1)
         krone.horizontalBewegen(distanz);
        {
    }
            // Aufruf der Methode stirb der Klasse Crab (s.u.)
 
            stirb();
    '''// Methode OHNE Rueckgabe und OHNE Parameter: Schluesselwort void, leere Klammern ()'''
        }
    public void herbst()
    }    
    {
      
        krone.farbeAendern("rot");
    // private Methode: kann nur von innerhalb der Klasse Crab aufgerufen werden.
        istRot = true;
    '''private void stirb()'''
    }
    {
    
        geschwindigkeit = 0;
     '''// Methode OHNE Rueckgabe und OHNE Parameter: Schluesselwort void, leere Klammern ()'''
    }
    public void fruehling()
      
    {
    // veraendernde Methode: die Geschwindigkeit wird veraendert.
        krone.farbeAendern("gruen");
    '''public void setzeGeschwindigkeit(int pGeschwindigkeit)'''
        istRot = false;
    {
    }
        geschwindigkeit = pGeschwindigkeit;
     
    }
     '''//Methode mit einem Rueckgabetyp: boolean'''
   
    public boolean hatGrueneBlaetter()
    // sondierende Methode: die Geschwindigkeit wird zurueckgegeben.
    {
    '''public int gibGeschwindigkeit()'''
        ergebnis = true;
    {
        if(istRot == true)
        return geschwindigkeit;
        {
    }
            // wenn der Baum rot ist...
}
            // ... hat er keine gruenen Blaetter!
            ergebnis = false;
        }
        // '''return-Statement: der zurueckgegebene Wert muss den Typ haben'''
        // '''wie im Methodenkopf angegeben. (Hier: boolean)
        return ergebnis;
    }
 
  }
</code>
</code>

Version vom 7. Dezember 2013, 23:25 Uhr


Hier ist beispielhaft der Quelltext der Klasse Baum dokumentiert.

Im Detail erläutert werden die einzelnen Sprachelemente hier: Java Basis-Sprachelemente.


 // Klassendeklaration
 public class Baum
 {

   // Attribute
   private Quadrat stamm;
   private Kreis krone;
   private boolean istRot;

   // Konstruktor
   public Baum()
   {
       // Aufruf eines Konstruktors: Schluesselwort new
       stamm = new Quadrat();

       // Aufruf einer Methode fuer ein anderes Objekt.
       // Attributname -> Punkt -> Methodenname
       // Es wird ein Parameter uebergeben (30)
       stamm.groesseAendern(30);
  
       // hier werden zwei Parameter uebergeben; getrennt durch Kommas.
       stamm.bewegeZuPosition(30,60);
  
       // hier wird ein String als Parameter uebergeben: "schwarz"
       stamm.farbeAendern("schwarz");
       krone = new Kreis();
       krone.bewegeZuPosition(20,20);
       krone.groesseAendern(50);
       krone.farbeAendern("gruen");
       istRot = false;
 
       //Aufruf einer Methode der Klasse Baum
       sichtbarMachen();
   }
 
   // Methode OHNE Rueckgabe und OHNE Parameter: Schluesselwort void, leere Klammern ()
   public void sichtbarMachen()
   {
       stamm.sichtbarMachen();
       krone.sichtbarMachen();
   }
  
   //Methode mit einem Parameter: (Parametertyp Parametername)
   public void horizontalBewegen(int distanz)
   {
       //der Parameter wird weiterverwendet
       stamm.horizontalBewegen(distanz);
       krone.horizontalBewegen(distanz);
   }
 
   // Methode OHNE Rueckgabe und OHNE Parameter: Schluesselwort void, leere Klammern ()
   public void herbst()
   {
       krone.farbeAendern("rot");
       istRot = true;
   }
 
   // Methode OHNE Rueckgabe und OHNE Parameter: Schluesselwort void, leere Klammern ()
   public void fruehling()
   {
       krone.farbeAendern("gruen");
       istRot = false;
   }
     
   //Methode mit einem Rueckgabetyp: boolean
   public boolean hatGrueneBlaetter()
   {
       ergebnis = true;
       if(istRot == true)
       {
           // wenn der Baum rot ist...
           // ... hat er keine gruenen Blaetter!
           ergebnis = false;
       }
       // return-Statement: der zurueckgegebene Wert muss den Typ haben
       // wie im Methodenkopf angegeben. (Hier: boolean)
       return ergebnis;
   }
  
 }