Benutzer-Werkzeuge

Webseiten-Werkzeuge


g9:uebungen:vererbung:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
g9:uebungen:vererbung:start [2022/06/30 08:10] – [Beispiel 1: Fliegende Rechtecke] Martin Pabstg9:uebungen:vererbung:start [2022/07/01 07:46] (aktuell) – [Beispiel 7: Fraktaler Baum] Martin Pabst
Zeile 62: Zeile 62:
 </HTML> </HTML>
  
-====== Beispiel 1: Fliegende Rechtecke ======+====== Beispiel 2: Fliegende Rechtecke ======
 Starte das Programm und regle die Geschwindigkeit langsam hoch! Starte das Programm und regle die Geschwindigkeit langsam hoch!
 <HTML> <HTML>
Zeile 190: Zeile 190:
 [[:klassen2:inheritance:starfieldloesung:start|Lösung zur Aufgabe "Starfield"]] [[:klassen2:inheritance:starfieldloesung:start|Lösung zur Aufgabe "Starfield"]]
  
-====== Beispiel 2: Klasse "Raute" ======+====== Beispiel 3: Klasse "Raute" ======
 Die Programmiersprache stellt bisher nur Objekte zum Zeichnen von Rechtecken, Kreisen, Polygonen und Sprites zur Verfügung. Ich zeige Dir, wie man durch Erweiterung der Klasse Polygon leicht weitere Objektklassen erstellen kann. Im Folgenden entwickeln wir eine Klasse "Raute". Die Programmiersprache stellt bisher nur Objekte zum Zeichnen von Rechtecken, Kreisen, Polygonen und Sprites zur Verfügung. Ich zeige Dir, wie man durch Erweiterung der Klasse Polygon leicht weitere Objektklassen erstellen kann. Im Folgenden entwickeln wir eine Klasse "Raute".
  
Zeile 227: Zeile 227:
  
  
-====== Beispiel 3: Klasse "Stern" ======+====== Beispiel 4: Klasse "Stern" ======
 Die Programmiersprache stellt bisher nur Objekte zum Zeichnen von Rechtecken, Kreisen, Polygonen und Sprites zur Verfügung. Ich zeige Dir, wie man durch Erweiterung der Klasse Polygon leicht weitere Objektklassen erstellen kann. Im Folgenden entwickeln wir eine Klasse "Stern". Die Programmiersprache stellt bisher nur Objekte zum Zeichnen von Rechtecken, Kreisen, Polygonen und Sprites zur Verfügung. Ich zeige Dir, wie man durch Erweiterung der Klasse Polygon leicht weitere Objektklassen erstellen kann. Im Folgenden entwickeln wir eine Klasse "Stern".
  
Zeile 345: Zeile 345:
 Das Beispiel "Feuerwerk" [[:api:documentation:grafik:animation#beispiel_4feuerwerk|findest Du hier]]. Das Beispiel "Feuerwerk" [[:api:documentation:grafik:animation#beispiel_4feuerwerk|findest Du hier]].
  
 +
 +====== Beispiel 6: Kochkurve ======
 +<HTML>
 +
 +<div class="java-online" style="height: 400px; width: 100%" data-java-online="{'withBottomPanel': false, 'id': 'Kochkurve'}">
 +
 +<script type="text/plain" title="Kochkurve.java">
 +new World(1000, 1000);
 +Kochkurve k = new Kochkurve(7);
 +
 +class Kochkurve extends Turtle {
 +   
 +   public Kochkurve(int tiefe) {
 +      super(50, 700);
 +      setBorderWidth(3); 
 +      int länge = 700;
 +      turn(60);
 +      zieheLinie(länge, tiefe);
 +      turn(-120);
 +      zieheLinie(länge, tiefe);
 +      turn(-120);
 +      zieheLinie(länge, tiefe);
 +   }
 +   
 +   public void zieheLinie(double länge, int tiefe) {
 +      if(tiefe == 0) {
 +         forward(länge);
 +         return;
 +      }
 +
 +      zieheLinie(länge / 3, tiefe - 1);
 +      turn(60);
 +      zieheLinie(länge / 3, tiefe - 1);
 +      turn(-120);
 +      zieheLinie(länge / 3, tiefe - 1);
 +      turn(60);
 +      zieheLinie(länge / 3, tiefe - 1);
 +
 +   }
 +
 +}
 +</script>
 +
 +</div>
 +
 +</HTML>
 +
 +
 +====== Beispiel 7: Fraktaler Baum ======
 +<HTML>
 +
 +<div class="java-online" style="height: 400px; width: 100%" data-java-online="{'withBottomPanel': false, 'id': 'Baum'}">
 +
 +<script type="text/plain" title="Baum.java">
 +new FraktalerBaum(400, 600, 0.7, 9, 35);
 +
 +class FraktalerBaum extends Turtle {
 +   
 +   double faktor;
 +   double winkel;
 +   
 +   FraktalerBaum(double x, double y, double faktor, int tiefe, double winkel) {
 +      super(x, y);
 +      this.faktor = faktor;
 +      this.winkel = winkel;
 +      setBorderWidth(2);
 +      turn(90);
 +      zeichneAst(tiefe, 180);
 +   }
 +
 +   void zeichneAst(int n, double länge) {
 +      if(n == 0) return;
 +
 +      forward(länge);
 +      turn(winkel);
 +      zeichneAst(n - 1, länge * faktor);
 +      turn(-2*winkel);
 +      zeichneAst(n - 1, länge * faktor);
 +      turn(winkel);
 +      turn(180);
 +      penUp();
 +      forward(länge);
 +      turn(180);
 +      penDown();
 +   }
 +
 +}
 +
 +</script>
 +
 +</div>
 +
 +</HTML>
g9/uebungen/vererbung/start.1656569428.txt.gz · Zuletzt geändert: 2022/06/30 08:10 von Martin Pabst

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki