Benutzer-Werkzeuge

Webseiten-Werkzeuge


klassen2:attribute: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
Nächste ÜberarbeitungBeide Seiten der Revision
klassen2:attribute:start [2020/11/22 20:23] – [Beispiel 4: Ampel] Martin Pabstklassen2:attribute:start [2020/11/22 21:34] – [Aufgabe 5: Bild mit verschiedenen Tageszeiten] Martin Pabst
Zeile 135: Zeile 135:
 ===== Beispiel 4: Ampel ===== ===== Beispiel 4: Ampel =====
 Wir programmieren eine Klasse ''Ampel'', die eine einfache Fußgängerampel Zeichnet und Methoden ''schalteGrün()'' und ''schalteRot()'' zum Umschalten besitzt. Die Ampel besteht aus einem ''Rectangle''-Objekt und zwei ''Circle''-Objekten. Diese speichern wir als Attribute der Klasse ''Ampel''. Sie werden in der Methode ''init()'' instanziert und initialisiert. Wir programmieren eine Klasse ''Ampel'', die eine einfache Fußgängerampel Zeichnet und Methoden ''schalteGrün()'' und ''schalteRot()'' zum Umschalten besitzt. Die Ampel besteht aus einem ''Rectangle''-Objekt und zwei ''Circle''-Objekten. Diese speichern wir als Attribute der Klasse ''Ampel''. Sie werden in der Methode ''init()'' instanziert und initialisiert.
 +
 +<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 ''setBorderColor'' der ''Rectangle''-Klasse!)
 +  * Füge ein gelbes Licht hinzu!
 +  * Füge eine "Fuß" hinzu!
 +</WRAP>
 +
  
 <HTML> <HTML>
  
-<div class="java-online" style="height: 550px; width: 100%" data-java-online="{'withBottomPanel': false, 'id': 'Attribute4'}">+<div class="java-online" style="height: 550px; width: 100%" data-java-online="{'withBottomPanel': true, 'id': 'Attribute4'}">
  
 <script type="text/plain" title="Attribute4.java"> <script type="text/plain" title="Attribute4.java">
 +Ampel a = new Ampel();
 +a.init();
 +a.schalteRot();
 +Input.readString("Drücke die Taste Enter!");
 +a.schalteGrün();
 +Input.readString("Drücke die Taste Enter!");
 +a.schalteAus();
  
 +class Ampel {
 +   Rectangle gehäuse;
 +   Circle lichtOben;
 +   Circle lichtUnten;
  
 +   void init() {
  
 +      // Instanzieren und Initialisieren des Gehäuses:
 +      gehäuse = new Rectangle(340, 140, 120, 220);
 +      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()!
 +
 +}
 </script> </script>
 </div> </div>
 </HTML> </HTML>
  
 +[[.ampelloesung:start|Hier geht's zur Lösung!]]
 ===== Aufgabe 1: Tiere ===== ===== Aufgabe 1: Tiere =====
 Erstelle eine Klasse ''Tier'' mit den Attributen ''art'' (Typ ''String''), ''name'' (Typ ''String'') und ''beinzahl'' (Typ ''int'') sowie einer Methode ''vorstellen()'', die im Falle der Katze Snoopy (mit zum Glück noch 4 Beinen) folgende Meldung ausgibt: Erstelle eine Klasse ''Tier'' mit den Attributen ''art'' (Typ ''String''), ''name'' (Typ ''String'') und ''beinzahl'' (Typ ''int'') sowie einer Methode ''vorstellen()'', die im Falle der Katze Snoopy (mit zum Glück noch 4 Beinen) folgende Meldung ausgibt:
Zeile 359: Zeile 397:
 </WRAP> </WRAP>
  
-===== Aufgabe 5: Die Klasse Würfel (verbesserte Version ===== +===== Aufgabe 5: Bild mit verschiedenen Tageszeiten ===== 
- +{{ :klassen2:attribute:pasted:20201122-212921.png}} 
 +{{:klassen2:attribute:pasted:20201122-212757.png }} 
 +{{ :klassen2:attribute:pasted:20201122-212839.png }} 
 + \\  
 +Die Klasse Bild zeichnet das Bild einer Wüste mit Sonne und Himmel (s.u.) zu drei verschiedenen Tageszeiten. Sie besitzt die Methoden ''init()'' (zum Instanzieren und Initialisieren der Objekte), ''schalteMorgen()'' (schaltet auf das "Morgenbild" um), ''schalteMittag()'' und ''schalteAbend()''. \\ \\  
 +**Tipp:** Orientiere Dich beim Programmieren am [[#beispiel_4ampel|Ampel-Beispiel oben]]!
 <HTML> <HTML>
  
Zeile 367: Zeile 409:
  
 <script type="text/plain" title="AttributeAufgabe5.java"> <script type="text/plain" title="AttributeAufgabe5.java">
 +Bild b = new Bild();
 +b.init();
 +b.schalteMorgen();
 +b.schalteMittag();
 +b.schalteAbend();
  
 +class Bild {
 +
 +}
  
 </script> </script>
Zeile 373: Zeile 423:
 </HTML> </HTML>
  
 +[[.aufgabe5loesung:startxx|Hier geht's zur Lösung!]]
klassen2/attribute/start.txt · Zuletzt geändert: 2021/12/29 11:29 von 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki