klassen1:eigene:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
klassen1:eigene:start [2020/10/29 17:38] – [Aufgabe 1: ASCII-Art-Klasse] Martin Pabst | klassen1:eigene:start [2021/12/29 11:29] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 143: | Zeile 143: | ||
</ | </ | ||
- | ===== Beispiel 2: Rechner-Klasse (mehrere Parameter) ===== | + | ===== Beispiel 2: Klasse " |
+ | Wir schreiben eine Klasse Katze mit den Attributen '' | ||
+ | |||
+ | < | ||
+ | |||
+ | <div class=" | ||
+ | |||
+ | <script type=" | ||
+ | Katze snoopy = new Katze(); | ||
+ | snoopy.name = " | ||
+ | snoopy.fellfarbe = " | ||
+ | snoopy.beinzahl = 4; | ||
+ | snoopy.sagWas(" | ||
+ | snoopy.stellDichVor(); | ||
+ | |||
+ | Katze b = new Katze(); | ||
+ | b.sagWas(" | ||
+ | b.name = " | ||
+ | b.fellfarbe = " | ||
+ | b.beinzahl = 3; | ||
+ | b.stellDichVor(); | ||
+ | |||
+ | |||
+ | class Katze { | ||
+ | |||
+ | | ||
+ | | ||
+ | int beinzahl; | ||
+ | |||
+ | void sagWas(String text) { | ||
+ | println(text, | ||
+ | } | ||
+ | |||
+ | void stellDichVor() { | ||
+ | println(" | ||
+ | } | ||
+ | |||
+ | } | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | ===== Beispiel 3: Rechner-Klasse (mehrere Parameter) ===== | ||
Wir schreiben eine Klasse Rechner mit Methoden '' | Wir schreiben eine Klasse Rechner mit Methoden '' | ||
Zeile 192: | Zeile 235: | ||
{{ : | {{ : | ||
- | ===== Beispiel | + | ===== Beispiel |
Schreibe eine Klasse '' | Schreibe eine Klasse '' | ||
Zeile 275: | Zeile 318: | ||
- | ===== Aufgabe 1: ASCII-Art-Klasse ===== | + | ===== Beispiel 5: ASCII-Art-Klasse ===== |
{{ : | {{ : | ||
Kennst Du [[https:// | Kennst Du [[https:// | ||
Zeile 285: | Zeile 328: | ||
art.zeichneRechteck(8, | art.zeichneRechteck(8, | ||
// Kreuz mit Balkendicke 3, Höhe 13 | // Kreuz mit Balkendicke 3, Höhe 13 | ||
- | art.zeichneKreuz(3, 13, Color.lightgreen); | + | art.zeichneKreuz(2, 10, Color.lightgreen); |
// Kreis mit Radius 8 | // Kreis mit Radius 8 | ||
- | art.zeichneKreis(8, Color.yellow); | + | art.zeichneKreis(4, Color.yellow); |
</ | </ | ||
Zeile 295: | Zeile 338: | ||
< | < | ||
- | <div class=" | + | <div class=" |
- | <script type=" | + | <script type=" |
+ | AsciiArt art = new AsciiArt(); | ||
+ | // Rechteck mit Breite 8, Höhe 6 | ||
+ | art.zeichneRechteck(8, | ||
+ | // Kreuz mit Balkendicke 3, Höhe 13 | ||
+ | art.zeichneKreuz(2, | ||
+ | // Kreis mit Radius 8 | ||
+ | art.zeichneKreis(4, | ||
+ | |||
+ | |||
+ | class AsciiArt { | ||
+ | |||
+ | void zeichneRechteck(int breite, int höhe, String farbe) { | ||
+ | | ||
+ | print(" | ||
+ | gibAus(" | ||
+ | print(" | ||
+ | println(); | ||
+ | |||
+ | for(int i = 1; i <= höhe - 2; i++) { | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | } | ||
+ | | ||
+ | print(" | ||
+ | gibAus(" | ||
+ | print(" | ||
+ | println(); | ||
+ | |||
+ | } | ||
+ | |||
+ | |||
+ | void gibAus(String zeichen, int anzahl, String farbe) { | ||
+ | for(int i = 1; i <= anzahl; i++) { | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | |||
+ | void zeichneKreis(int radius, String farbe) { | ||
+ | for(int zeile = 0; zeile <= 2 * radius; zeile++) { | ||
+ | | ||
+ | double dx = radius + 0.5 - zeile; | ||
+ | double dy = radius + 0.5 - spalte; | ||
+ | if(Math.sqrt(dx * dx + dy * dy) <= radius) { | ||
+ | | ||
+ | } else { | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | |||
+ | void zeichneKreuz(int dicke, int höhe, String farbe) { | ||
+ | | ||
+ | int d = (höhe - dicke) / 2; // überstehende Balkenlänge | ||
+ | for(int i = 1; i <= d; i++) { | ||
+ | | ||
+ | | ||
+ | | ||
+ | } | ||
+ | |||
+ | for(int i = 1; i <= dicke; i++) { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | |||
+ | for(int i = 1; i <= d; i++) { | ||
+ | | ||
+ | | ||
+ | | ||
+ | } | ||
+ | |||
+ | } | ||
+ | |||
+ | } | ||
</ | </ | ||
</ | </ | ||
Zeile 304: | Zeile 424: | ||
</ | </ | ||
+ | ===== Aufgabe 1 ===== | ||
+ | Schreibe eine Klasse '' | ||
+ | |||
+ | [[.aufgabe1Tipp: | ||
+ | ===== Aufgabe 2 ===== | ||
+ | Schreibe eine Klasse '' | ||
+ | * Die Methode '' | ||
+ | * Die Methode '' | ||
+ | |||
+ | [[.aufgabe2: | ||
+ | |||
+ | |||
+ | ===== Aufgabe 3 (etwas schwerer...) ===== | ||
+ | {{ : | ||
+ | Erweitere die Klasse '' | ||
+ | |||
+ | [[.aufgaben: |
klassen1/eigene/start.1603989505.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)