Benutzer-Werkzeuge

Webseiten-Werkzeuge


g9:uebungen:klassen_anwenden: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:klassen_anwenden:start [2021/01/20 12:52] – [Instanzieren der "Welt"] Martin Pabstg9:uebungen:klassen_anwenden:start [2022/06/29 15:12] (aktuell) Martin Pabst
Zeile 1: Zeile 1:
-====== Objekte erzeugen und verändern ======+====== Vorhandene Klassen nutzen ======
 Bevor wir eigene Klassen programmieren lernen wir, wie wir Objekte zu bereits bestehenden Klassen erzeugen können. Wir beginnen mit Grafikklassen wie ''Rectangle'' oder ''Circle'', weil man die grafische Repräsentation dieser Objekte gleich am Bildschirm sieht.  Bevor wir eigene Klassen programmieren lernen wir, wie wir Objekte zu bereits bestehenden Klassen erzeugen können. Wir beginnen mit Grafikklassen wie ''Rectangle'' oder ''Circle'', weil man die grafische Repräsentation dieser Objekte gleich am Bildschirm sieht. 
  
Zeile 84: Zeile 84:
 Dass im obigen Programm die Bestandteile der Rakete einzeln verschoben werden müssen, ist sehr ungünstig. Bei langsamer Ausführungsgeschwindikeit sieht man die Teile sogar einzeln vorwärtsruckeln. Und stell' Dir vor, wir wollten die Rakete um ihren Schwerpunkt drehen: Was würde passieren, wenn ab Zeile 11 steht: Dass im obigen Programm die Bestandteile der Rakete einzeln verschoben werden müssen, ist sehr ungünstig. Bei langsamer Ausführungsgeschwindikeit sieht man die Teile sogar einzeln vorwärtsruckeln. Und stell' Dir vor, wir wollten die Rakete um ihren Schwerpunkt drehen: Was würde passieren, wenn ab Zeile 11 steht:
 <code learnj> <code learnj>
-spitze.drehen(2); +spitze.rotate(2); 
-tank.drehen(2); +tank.rotate(2); 
-triebwerk1.drehen(2); +triebwerk1.rotate(2); 
-triebwerk2.drehen(2);+triebwerk2.rotate(2);
 </code> </code>
 Probier' es doch mal aus (Copy/Paste...)! \\ \\  Probier' es doch mal aus (Copy/Paste...)! \\ \\ 
Zeile 174: Zeile 174:
 </div> </div>
 </HTML> </HTML>
- 
-<WRAP center round tip 100%> 
-**Neue Farben "mischen":** \\  
-Du kannst nicht nur die vorgegebenen Farbwerte (''Color.red, Color.yellow, ...'') verwenden, sondern auch beliebige andere Farben erzeugen, indem Du den Rot-, Grün- und Blauwert der Farbe angibst. Die einzelnen Werte dürfen dabei zwischen 0 und 255 liegen. Das folgende Programm erzeugt ein Rechteck-Objekt und färbt es mit einer Farbe, deren Rotwert 100, Grünwert 20 und Blauwert 87 beträgt. 
-<code myjava> 
-   Rectangle r = new Rectangle(10, 10, 100, 100); 
-   r.setFillColor(new Color(100, 20, 87)); 
-</code> 
-**Wie kommen die Farben zustande?** \\  
-Computerdisplays bedienen sich eines Tricks zur Farbdarstellung: Da das menschliche Auge nur Farbsensoren für rotes, grünes und blaues Licht hat ("Zäpfchen" auf der Netzhaut), reicht es, nur diese drei Sensortypen einzeln in unterschiedlicher Intensität zu aktivieren, um alle für den Menschen sichtbaren Farbeindrücke hervorzurufen.  
-{{ :klassen1:anwenden:pasted:20201015-093719.png?200}} 
- \\ \\ Displays bestehen daher aus vielen sehr kleinen roten, grünen und blauen Punkten, deren Helligkeit einzeln geregelt werden kann. Je drei davon werden zu einem Bildpunkt ("Pixel") zusammengefasst. Die Angabe der Rot- Grün- und Blauwerte oben regelt die Helligkeit der jeweiligen Teilpunkte des Pixels. Dabei steht der Wert ''0'' für "Bildpunkt schwarz" und 255 für "Bildpunkt hat maximale Helligkeit" 
- \\ \\ Die vom Auge wahrgenommene Farbe des Pixels entspricht der **additiven** Mischfarbe der drei Teilpunkte. Diese Art der Farbmischung wird für dich ungewohnt sein, weil die Mischfarben von Farbstiften und Wasserfarben **subtraktiv** zustandekommen. Eine gute Erklärung der beiden Arten von Farbmischung findest Du in den Wikipedia-Artikeln zu [[https://de.wikipedia.org/wiki/Additive_Farbmischung|additiver]] und [[https://de.wikipedia.org/wiki/Subtraktive_Farbmischung|subtraktiver Farbmischung]]. 
- \\ \\  
-**Kleines Experiment:** \\  
-Halte ein Fernglas **in umgedrehter Richtung** ganz nah an den Bildschirm, dann kannst Du die roten, grünen und blauen Punkte deutlich sehen. Schau' Dir so verschiedenfarbige Flächen am Bildschirm an und beobachte die Intensität der farbigen Teilpunkte.  
- 
-</WRAP> 
- 
- 
 ==== Aufgabe 1: "Auto" ==== ==== Aufgabe 1: "Auto" ====
 {{ :klassen1:anwenden:pasted:20200504-175448.png}} {{ :klassen1:anwenden:pasted:20200504-175448.png}}
g9/uebungen/klassen_anwenden/start.1611143558.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki