Benutzer-Werkzeuge

Webseiten-Werkzeuge


klassen2:interfaces: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
klassen2:interfaces:start [2021/04/10 21:53] – [Anwendung: Timer] Martin Pabstklassen2:interfaces:start [2021/12/29 11:29] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 ====== Interfaces ====== ====== Interfaces ======
 +{{ youtube>dn6FT_g8OZk?large }}
 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:
 <HTML> <HTML>
  
-<div class="java-online" style="height: 300px; width: 100%" data-java-online="{'id': 'Interfaces1'}">+<div class="java-online" style="height: 400px; width: 100%" data-java-online="{'id': 'Interfaces1', 'withBottomPanel': true}">
  
 <script type="text/plain" title="BildschirmAusgeber.java"> <script type="text/plain" title="BildschirmAusgeber.java">
Zeile 68: Zeile 69:
 <HTML> <HTML>
  
-<div class="java-online" style="height: 300px; width: 100%" data-java-online="{'id': 'Interfaces2'}">+<div class="java-online" style="height: 400px; width: 100%" data-java-online="{'id': 'Interfaces2', 'withBottomPanel': true}">
  
 <script type="text/plain" title="BildschirmAusgeber.java"> <script type="text/plain" title="BildschirmAusgeber.java">
Zeile 121: Zeile 122:
 <HTML> <HTML>
  
-<div class="java-online" style="height: 600px; width: 100%" data-java-online="{'id': 'Interfaces3'}">+<div class="java-online" style="height: 600px; width: 100%" data-java-online="{'id': 'Interfaces3', 'withBottomPanel': true}">
  
 <script type="text/plain" title="Listengenerator.java"> <script type="text/plain" title="Listengenerator.java">
Zeile 212: Zeile 213:
 Ein Interface sieht im UML-Diagramm aus wie eine Klassenkarte, der Bezeichner ist jedoch kursiv geschrieben und durch ein vorangestelltes //<<interface>>// als solches gekennzeichnet. Dass eine Klasse ein Interface implementiert, kennzeichnet man im UML-Diagramm durch eine gestrichelte Verbindungslinie, die beim Interface in ein Dreieck mündet. Ein Interface sieht im UML-Diagramm aus wie eine Klassenkarte, der Bezeichner ist jedoch kursiv geschrieben und durch ein vorangestelltes //<<interface>>// als solches gekennzeichnet. Dass eine Klasse ein Interface implementiert, kennzeichnet man im UML-Diagramm durch eine gestrichelte Verbindungslinie, die beim Interface in ein Dreieck mündet.
  
 +===== Aufgabe 1 ===== 
 +Schreibe eine Klasse ''JSonAusgeber'', die das Interface ''Ausgeber'' implementiert und Tabellen im [[https://en.wikipedia.org/wiki/JSON|JSon-Format]] als Liste ausgibt, also so: 
 +<code javascript> 
 +[ 'Zeile1, Spalte1', 'Zeile1, Spalte2' ], 
 +[ 'Zeile2, Spalte1', 'Zeile2, Spalte2'
 +</code>
 ====== Anwendung: Timer ====== ====== Anwendung: Timer ======
 <WRAP center round info 60%> <WRAP center round info 60%>
Zeile 227: Zeile 233:
 } }
 </code> </code>
-Diese Methode wird von der Klasse ''timer'' nach jeweils ''deltaTimeInMs'' Millisekunden immer wieder aufgerufen.+Diese Methode wird von der Klasse ''Timer'' nach jeweils ''deltaTimeInMs'' Millisekunden immer wieder aufgerufen.
 </WRAP> </WRAP>
  
Zeile 233: Zeile 239:
 <HTML> <HTML>
  
-<div class="java-online" style="height: 600px; width: 100%" data-java-online="{'id': 'InterfacesTimer'}">+<div class="java-online" style="height: 300px; width: 100%" data-java-online="{'withBottomPanel': false, 'id': 'InterfacesTimer'}">
  
 <script type="text/plain" title="TimerExample.java"> <script type="text/plain" title="TimerExample.java">
-Timer.repeat(new Zähler(), 2000);+Timer.repeat(new Zähler(), 500);
  
 class Zähler implements Runnable { class Zähler implements Runnable {
Zeile 243: Zeile 249:
  
   public void run() {   public void run() {
-      println(n + "-ter Aufruf!"); +           SystemTools.clearScreen(); 
-      n++;+           println(n + "-ter Aufruf!"); 
 +           n++;
   }   }
  
Zeile 254: Zeile 261:
 </HTML> </HTML>
  
-===== Flächenberechnung mittels Monte-Carlo-Simulation =====+===== 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 ''SystemTools.clearScreen()'' löscht den Textausgabebereich.// 
 + 
 +====== Flächenberechnung mittels Monte-Carlo-Simulation ======
 {{ :klassen2:interfaces:pasted:20200521-225753.png}} {{ :klassen2:interfaces:pasted:20200521-225753.png}}
 {{:klassen2:interfaces:monte-carlo_1.png?400 |}} {{:klassen2:interfaces:monte-carlo_1.png?400 |}}
Zeile 301: Zeile 312:
 <HTML> <HTML>
  
-<div class="java-online" style="height: 600px; width: 100%" data-java-online="{'id': 'Interfaces4'}">+<div class="java-online" style="height: 600px; width: 100%" data-java-online="{'id': 'Interfaces4', 'withBottomPanel': true}">
  
 <script type="text/plain" title="Einheitskreis.java"> <script type="text/plain" title="Einheitskreis.java">
Zeile 422: Zeile 433:
  
  
-===== Aufgabe =====+===== Aufgabe 3 (freiwillig) =====
 Übernimm den Code für das Interface ''Fläche'' und die Klasse ''Flächenberechner'' und programmiere dazu Übernimm den Code für das Interface ''Fläche'' und die Klasse ''Flächenberechner'' und programmiere dazu
   * 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.
klassen2/interfaces/start.1618084400.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki