Benutzer-Werkzeuge

Webseiten-Werkzeuge


anhang:generics: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
anhang:generics:start [2024/12/09 14:38] – [Aufgabe] Martin Pabstanhang:generics:start [2024/12/13 08:28] (aktuell) – [Aufgabe] Martin Pabst
Zeile 22: Zeile 22:
 </WRAP> </WRAP>
  
-===== Lösung: Generics =====+===== Generics =====
 <WRAP center round info 80%> <WRAP center round info 80%>
-Viele Programmiersprachen bieten Möglichkeiten der [[https://en.wikipedia.org/wiki/Generic_programming|Generischen Programmierung]], d.h. Sie ermöglichen beispielsweise die Deklaration einer Klasse unter Zuhilfe eines allgemeinen Datentypen (z.B. ''T''), der erst beim Instanzieren festgelegt wird. In Java sieht das so aus:+Viele Programmiersprachen bieten Möglichkeiten der [[https://en.wikipedia.org/wiki/Generic_programming|Generischen Programmierung]], d.h. Sie ermöglichen beispielsweise die Deklaration einer Klasse unter Zuhilfenahme eines allgemeinen Datentypen (z.B. ''T''), der erst beim Instanzieren festgelegt wird. In Java sieht das so aus:
 <code java> <code java>
 class Liste<T> { class Liste<T> {
Zeile 46: Zeile 46:
 ===== Aufgabe ===== ===== Aufgabe =====
 <WRAP center round todo 80%> <WRAP center round todo 80%>
-Schreiben Sie eine generische Klasse ''Liste'' unter Zuhilfenahme des Entwurfsmusters Kompositum, die mindestens folgende Methoden hat:+a) Schreiben Sie eine generische Klasse ''Liste'' unter Zuhilfenahme des Entwurfsmusters Kompositum, die mindestens folgende Methoden hat:
   * ''T pop()'' (erstes Element entnehmen)   * ''T pop()'' (erstes Element entnehmen)
   * ''push(T element)''(Element hinten anfügen)   * ''push(T element)''(Element hinten anfügen)
Zeile 53: Zeile 53:
   * ''void addFirst(T element)'' (vorne anfügen)   * ''void addFirst(T element)'' (vorne anfügen)
   * ''T getLast()'' (letztes Element entnehmen)   * ''T getLast()'' (letztes Element entnehmen)
 +
 +b) Schreiben Sie für jede der Methoden oben mindestens einen automatisierten [[anhang:unittests:start|Unit Test.]]
 </WRAP> </WRAP>
 +
 +[[.generics:loesung:start|Lösung]]
 +
 +===== Bounded type parameters =====
 +
 +
  
  
anhang/generics/start.1733755124.txt.gz · Zuletzt geändert: 2024/12/09 14:38 von Martin Pabst

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki