Benutzer-Werkzeuge

Webseiten-Werkzeuge


klassen1:eigene: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
klassen1:eigene:start [2020/10/29 17:50] – [Beispiel 4: ASCII-Art-Klasse] Martin Pabstklassen1:eigene:start [2021/12/29 11:29] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 143: Zeile 143:
 </WRAP> </WRAP>
  
-===== Beispiel 2: Rechner-Klasse (mehrere Parameter) =====+===== Beispiel 2: Klasse "Katze" ===== 
 +Wir schreiben eine Klasse Katze mit den Attributen ''name'', ''Fellfarbe'' und ''Beinzahl'' sowie den Methoden ''stellDichVor()'' und ''sagWas(String text)''
 + 
 +<HTML> 
 + 
 +<div class="java-online" style="height: 500px; width: 100%" data-java-online="{'withBottomPanel': false, 'id': 'Katze1'}"> 
 + 
 +<script type="text/plain" title="Main4.java"> 
 +Katze snoopy = new Katze(); 
 +snoopy.name = "Snoopy"; 
 +snoopy.fellfarbe = "grau"; 
 +snoopy.beinzahl = 4; 
 +snoopy.sagWas("Miau!"); 
 +snoopy.stellDichVor(); 
 + 
 +Katze b = new Katze(); 
 +b.sagWas("Grrrrr!"); 
 +b.name = "Bella"; 
 +b.fellfarbe = "weiß"; 
 +b.beinzahl = 3; 
 +b.stellDichVor(); 
 + 
 + 
 +class Katze { 
 +    
 +   String name; 
 +   String fellfarbe; 
 +   int beinzahl; 
 + 
 +   void sagWas(String text) { 
 +      println(text, Color.brown); 
 +   } 
 + 
 +   void stellDichVor() { 
 +      println("Ich heiße " + name + ", habe die Fellfarbe " + fellfarbe + " und " + beinzahl + " Beine."); 
 +   } 
 + 
 +
 +</script> 
 +</div> 
 + 
 +</HTML> 
 + 
 +===== Beispiel 3: Rechner-Klasse (mehrere Parameter) =====
 Wir schreiben eine Klasse Rechner mit Methoden ''summe'', ''differenz'' und ''potenz'' und berechnen damit $2^3 + 5$. Wir schreiben eine Klasse Rechner mit Methoden ''summe'', ''differenz'' und ''potenz'' und berechnen damit $2^3 + 5$.
  
Zeile 192: Zeile 235:
  
 {{ :klassen1:eigene:pasted:20201028-133352.png?150}} {{ :klassen1:eigene:pasted:20201028-133352.png?150}}
-===== Beispiel 3: Weihnachtsbaum (Methoden rufen sich gegenseitig auf) =====+===== Beispiel 4: Weihnachtsbaum (Methoden rufen sich gegenseitig auf) =====
 Schreibe eine Klasse ''Baum'', mit einer Methode ''zeichneBaum(int breite)'', die wiederum die Methoden ''zeichneKrone(int breite)'' und ''zeichneStamm(int stammbreite)'' aufruft um damit einen Baum wie in der nebenstehenden Abbildung zu zeichnen. Schreibe eine Klasse ''Baum'', mit einer Methode ''zeichneBaum(int breite)'', die wiederum die Methoden ''zeichneKrone(int breite)'' und ''zeichneStamm(int stammbreite)'' aufruft um damit einen Baum wie in der nebenstehenden Abbildung zu zeichnen.
  
Zeile 275: Zeile 318:
  
  
-===== Beispiel 4: ASCII-Art-Klasse =====+===== Beispiel 5: ASCII-Art-Klasse =====
 {{ :klassen1:eigene:pasted:20201029-173821.png}} {{ :klassen1:eigene:pasted:20201029-173821.png}}
 Kennst Du [[https://en.wikipedia.org/wiki/ASCII_art|ASCII-Art]]? Wir schreiben eine Klasse ''AsciiArt'', deren Methoden geometrische Figuren ausgeben, die aus Textzeichen zusammengesetzt sind. \\ \\  Kennst Du [[https://en.wikipedia.org/wiki/ASCII_art|ASCII-Art]]? Wir schreiben eine Klasse ''AsciiArt'', deren Methoden geometrische Figuren ausgeben, die aus Textzeichen zusammengesetzt sind. \\ \\ 
Zeile 384: Zeile 427:
 Schreibe eine Klasse ''GeoHelfer'' mit den Methoden ''berechneDreiecksfläche'', ''berechneZylindervolumen'' und ''berechneZylinderOberfläche''. Schreibe eine Klasse ''GeoHelfer'' mit den Methoden ''berechneDreiecksfläche'', ''berechneZylindervolumen'' und ''berechneZylinderOberfläche''.
  
 +[[.aufgabe1Tipp:start|Hier ein Tipp]]
 ===== Aufgabe 2 ===== ===== Aufgabe 2 =====
 Schreibe eine Klasse ''ZahlenHelfer'' mit folgenden Methoden: Schreibe eine Klasse ''ZahlenHelfer'' mit folgenden Methoden:
Zeile 389: Zeile 433:
   * Die Methode ''summe'' bekommt als Parameter eine ganze Zahl ''z'' und gibt die Summe $1 + 2 + \ldots + z$ zurück.   * Die Methode ''summe'' bekommt als Parameter eine ganze Zahl ''z'' und gibt die Summe $1 + 2 + \ldots + z$ zurück.
  
 +[[.aufgabe2:tipp:start|Hier ein kleiner Tipp]]
 +
 +
 +===== Aufgabe 3 (etwas schwerer...) =====
 +{{ :klassen1:eigene:pasted:20201108-203142.png}}
 +Erweitere die Klasse ''AsciiArt'' von oben um eine Methode ''void zeichneX(int breite, int linienstärke, String farbe)'', die ein großes X aus lauter X-Zeichen zusammensetzt. Die Ausgabe von ''art.zeichneX(10, 2, Color.pink);'' sieht beispielsweise so aus, wie im Bild rechts zu sehen.
 +
 +[[.aufgaben:aufgabe3:start|Hier geht's zur Lösung!]]
klassen1/eigene/start.1603990229.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki