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/06 08:15] 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 43: Zeile 43:
 liefert keinen Fehler mehr. liefert keinen Fehler mehr.
 </WRAP> </WRAP>
 +
 +===== Aufgabe =====
 +<WRAP center round todo 80%>
 +a) Schreiben Sie eine generische Klasse ''Liste'' unter Zuhilfenahme des Entwurfsmusters Kompositum, die mindestens folgende Methoden hat:
 +  * ''T pop()'' (erstes Element entnehmen)
 +  * ''push(T element)''(Element hinten anfügen)
 +  * ''int size()'' (Anzahl der enthaltenen Elemente)
 +  * ''void clear()'' (Liste leeren)
 +  * ''void addFirst(T element)'' (vorne anfügen)
 +  * ''T getLast()'' (letztes Element entnehmen)
 +
 +b) Schreiben Sie für jede der Methoden oben mindestens einen automatisierten [[anhang:unittests:start|Unit Test.]]
 +</WRAP>
 +
 +[[.generics:loesung:start|Lösung]]
 +
 +===== Bounded type parameters =====
 +
 +
  
  
anhang/generics/start.1733472941.txt.gz · Zuletzt geändert: 2024/12/06 08:15 von Martin Pabst

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki