klassen2:interfaces:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
klassen2:interfaces:start [2020/05/27 08:45] – [Programm] Martin Pabst | klassen2:interfaces:start [2021/12/29 11:29] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Interfaces ====== | ====== Interfaces ====== | ||
+ | {{ youtube> | ||
Stellen wir uns ein Bibliotheksprogramm vor, das verschiedene Listen ausgeben kann: | Stellen wir uns ein Bibliotheksprogramm vor, das verschiedene Listen ausgeben kann: | ||
* eine Liste aller Bücher der Bibliothek | * eine Liste aller Bücher der Bibliothek | ||
Zeile 38: | Zeile 39: | ||
< | < | ||
- | <div class=" | + | <div class=" |
<script type=" | <script type=" | ||
Zeile 68: | Zeile 69: | ||
< | < | ||
- | <div class=" | + | <div class=" |
<script type=" | <script type=" | ||
Zeile 121: | Zeile 122: | ||
< | < | ||
- | <div class=" | + | <div class=" |
<script type=" | <script type=" | ||
Zeile 212: | Zeile 213: | ||
Ein Interface sieht im UML-Diagramm aus wie eine Klassenkarte, | Ein Interface sieht im UML-Diagramm aus wie eine Klassenkarte, | ||
+ | ===== Aufgabe 1 ===== | ||
+ | Schreibe eine Klasse '' | ||
+ | <code javascript> | ||
+ | [ ' | ||
+ | [ ' | ||
+ | </ | ||
+ | ====== Anwendung: Timer ====== | ||
+ | <WRAP center round info 60%> | ||
+ | Wenn Du möchtest, dass eine Methode periodisch nach immer gleichen Zeitabständen aufgerufen wird, kannst Du dafür die '' | ||
+ | <code java> | ||
+ | | ||
+ | </ | ||
+ | bekommt als Parameter ein Objekt übergeben, das das Interface '' | ||
+ | <code java> | ||
+ | interface Runnable{ | ||
+ | |||
+ | public void run(); | ||
+ | |||
+ | } | ||
+ | </ | ||
+ | Diese Methode wird von der Klasse '' | ||
+ | </ | ||
+ | |||
+ | |||
+ | < | ||
+ | |||
+ | <div class=" | ||
+ | |||
+ | <script type=" | ||
+ | Timer.repeat(new Zähler(), 500); | ||
+ | |||
+ | class Zähler implements Runnable { | ||
+ | |||
+ | int n = 1; | ||
+ | |||
+ | public void run() { | ||
+ | | ||
+ | | ||
+ | n++; | ||
+ | } | ||
+ | |||
+ | } | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | ===== Aufgabe 2 ===== | ||
+ | Schreibe ein Programm, dass ständig die seit dem Programmstart vergangene Zeit in Minuten und Sekunden (Beispiel: 03:12) anzeigt. \\ | ||
+ | //Tipp: Die Methode '' | ||
- | ===== Flächenberechnung mittels Monte-Carlo-Simulation ===== | + | ====== Flächenberechnung mittels Monte-Carlo-Simulation |
{{ : | {{ : | ||
{{: | {{: | ||
Zeile 260: | Zeile 312: | ||
< | < | ||
- | <div class=" | + | <div class=" |
<script type=" | <script type=" | ||
Zeile 381: | Zeile 433: | ||
- | ===== Aufgabe ===== | + | ===== Aufgabe |
Übernimm den Code für das Interface '' | Übernimm den Code für das Interface '' | ||
* a) Eine Klasse Dreieck, die das Dreieck mit den Eckpunkten $(0,0)$, $(0,1)$ und $(1,0)$ repräsentiert. | * a) Eine Klasse Dreieck, die das Dreieck mit den Eckpunkten $(0,0)$, $(0,1)$ und $(1,0)$ repräsentiert. | ||
Zeile 390: | Zeile 442: | ||
Das Monte-Carlo-Verfahren verwendet man in der Praxis natürlich nicht für so einfache ebene Flächen wie die Beispiele oben, sondern nur zur Berechnung des Flächeninhalts komplex gestalteter Flächen in mehrdimensionalen Räumen. | Das Monte-Carlo-Verfahren verwendet man in der Praxis natürlich nicht für so einfache ebene Flächen wie die Beispiele oben, sondern nur zur Berechnung des Flächeninhalts komplex gestalteter Flächen in mehrdimensionalen Räumen. | ||
</ | </ | ||
+ | [[.loesung: | ||
klassen2/interfaces/start.1590561933.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)