g9:uebungen:attribute:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende Überarbeitung | |||
g9:uebungen:attribute:start [2022/06/30 07:38] – [Beispiel 2: Klassen mit Attributen und Methoden] Martin Pabst | g9:uebungen:attribute:start [2022/06/30 07:40] (aktuell) – Martin Pabst | ||
---|---|---|---|
Zeile 97: | Zeile 97: | ||
</ | </ | ||
- | {{ : | + | ===== Aufgabe 1: RechteckHelfer ===== |
- | ===== Beispiel 4: Ampel ===== | + | |
- | Wir programmieren eine Klasse '' | + | |
- | + | ||
- | <WRAP center round todo 60%> | + | |
- | Ich habe Dir noch etwas Arbeit im Programm hinterlassen (siehe die Kommentare). Vielleicht möchtest Du die Ampel auch noch etwas umfangreicher gestalten: | + | |
- | * Umgib das Gehäuse mit einem dunkelgrauen Rahmen (Methode '' | + | |
- | * Füge ein gelbes Licht hinzu! | + | |
- | * Füge eine " | + | |
- | </ | + | |
- | + | ||
- | + | ||
- | < | + | |
- | + | ||
- | <div class=" | + | |
- | + | ||
- | <script type=" | + | |
- | Ampel a = new Ampel(); | + | |
- | a.init(); | + | |
- | a.schalteRot(); | + | |
- | Input.readString(" | + | |
- | a.schalteGrün(); | + | |
- | Input.readString(" | + | |
- | a.schalteAus(); | + | |
- | + | ||
- | class Ampel { | + | |
- | | + | |
- | | + | |
- | | + | |
- | + | ||
- | void init() { | + | |
- | + | ||
- | // Instanzieren und Initialisieren des Gehäuses: | + | |
- | gehäuse = new Rectangle(340, | + | |
- | gehäuse.setFillColor(Color.gray); | + | |
- | + | ||
- | // Ergänze den Code zum Instanzieren und initialisieren der beiden Lichter! | + | |
- | // Die Lichter sollen initial beide mit der Farbe Color.darkgray gefüllt sein. | + | |
- | + | ||
- | } | + | |
- | + | ||
- | void schalteRot() { | + | |
- | lichtOben.setFillColor(Color.red); | + | |
- | lichtUnten.setFillColor(Color.darkgray); | + | |
- | } | + | |
- | + | ||
- | // Ergänze Methoden schalteGrün() und schalteAus()! | + | |
- | + | ||
- | } | + | |
- | </ | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | [[: | + | |
- | ===== Aufgabe 1: Tiere ===== | + | |
- | Erstelle eine Klasse '' | + | |
- | < | + | |
- | Ich heiße Snoopy und bin ein/e Katze mit 4 Beinen. | + | |
- | </ | + | |
- | + | ||
- | < | + | |
- | + | ||
- | <div class=" | + | |
- | + | ||
- | <script type=" | + | |
- | Tier s = new Tier(); | + | |
- | s.name = " | + | |
- | s.art = " | + | |
- | s.beinzahl = 4; | + | |
- | + | ||
- | Tier c = new Tier(); | + | |
- | c.name = " | + | |
- | c.art = " | + | |
- | c.beinzahl = 2; | + | |
- | + | ||
- | s.vorstellen(); | + | |
- | c.vorstellen(); | + | |
- | + | ||
- | // Jetzt bist Du dran: Definiere hier die Klasse Tier, so dass das Programm oben | + | |
- | // fehlerfrei läuft. | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | </ | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | [[: | + | |
- | + | ||
- | + | ||
- | ===== Aufgabe 2: Längeneinheiten ===== | + | |
- | <WRAP center round tip 80%> | + | |
- | Sind Dir schon mal Längenangaben wie //12 in// oder //17 zoll// oder // | + | |
- | **Umrechnung: | + | |
- | </ | + | |
- | + | ||
- | Schreibe eine Klasse '' | + | |
- | == Programm: == | + | |
- | <code myJava> | + | |
- | Länge a = new Länge(); | + | |
- | a.speichere(3.0, | + | |
- | a.schreibeCm(); | + | |
- | a.speichere(25.4, | + | |
- | a.schreibeInch(); | + | |
- | </ | + | |
- | == Ausgabe == | + | |
- | < | + | |
- | 7.62 cm | + | |
- | 10 inch | + | |
- | </ | + | |
- | + | ||
- | **Tipp: ** Natürlich benötigt die Klasse auch ein Attribut, um die Länge zu speichern. Es bietet sich an, nur ein einziges Attribut zu deklarieren, | + | |
- | < | + | |
- | + | ||
- | <div class=" | + | |
- | + | ||
- | <script type=" | + | |
- | Länge a = new Länge(); | + | |
- | a.speichere(3.0, | + | |
- | a.schreibeCm(); | + | |
- | a.speichere(25.4, | + | |
- | a.schreibeInch(); | + | |
- | + | ||
- | // Jetzt bist Du dran: schreibe die Definition der Klasse Länge! | + | |
- | + | ||
- | + | ||
- | </ | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | [[: | + | |
- | + | ||
- | + | ||
- | ===== Aufgabe 3: RechteckHelfer ===== | + | |
Schreibe eine Klasse '' | Schreibe eine Klasse '' | ||
== Programm: == | == Programm: == | ||
Zeile 270: | Zeile 136: | ||
- | ===== Aufgabe | + | ===== Aufgabe |
Studiere die Klasse Bruch im Programm unten genau und ergänze folgende Methoden: | Studiere die Klasse Bruch im Programm unten genau und ergänze folgende Methoden: | ||
* '' | * '' | ||
Zeile 362: | Zeile 228: | ||
</ | </ | ||
- | ===== Aufgabe 5: Bild mit verschiedenen Tageszeiten ===== | ||
- | {{ : | ||
- | {{: | ||
- | {{ : | ||
- | | ||
- | Die Klasse Bild zeichnet das Bild einer Wüste mit Sonne und Himmel (s.u.) zu drei verschiedenen Tageszeiten. Sie besitzt die Methoden '' | ||
- | **Tipp:** Orientiere Dich beim Programmieren am [[# | ||
- | < | ||
- | |||
- | <div class=" | ||
- | |||
- | <script type=" | ||
- | Bild b = new Bild(); | ||
- | b.init(); | ||
- | b.schalteMorgen(); | ||
- | b.schalteMittag(); | ||
- | b.schalteAbend(); | ||
- | |||
- | class Bild { | ||
- | |||
- | } | ||
- | |||
- | </ | ||
- | </ | ||
- | </ | ||
- | |||
- | [[: |
g9/uebungen/attribute/start.1656567500.txt.gz · Zuletzt geändert: 2022/06/30 07:38 von Martin Pabst