Previous achievement | Next achievement

( E. Genericitet )

E11

Parametrisk polymorfism och typsäkerhet

Level Assessment
3 L

Använd parametrisk polymorfism för ökad "statisk typsäkerhet" vid interaktion med Javas standardbibliotek.

Typsäkerhet avser att ett värde alltid används på tillåtet sätt, t.ex. att en bit minne som råkar hålla en baseballspelare med ett heltal för skostorlek på bytes 8--11 används på detta sätt. C är inte ett typsäkert språk vilket tillåter oss att t.ex. spara strängen "Hej" på skostorlekens plats, och sedan läsa dessa fyra bytes som en (abnorm) sko. Java är ett typsäkert språk, och priset man betalar för detta är kontroller under programmets körning som orsakar undantag om en operation skulle leda till ett typfel.

Ponera en lista i Java där elementpekarna är av typen Object. En sådan lista kan innehålla vad data som helst, men vanligt är att man är intresserad av en lista av basebollspelare etc.

Javas stöd för parametrisk polymorfism (även kallat generics) tillåter oss att skapa datastrukturer parametriserade över typer; parametrar vilka måste instantieras vid användande av strukturerna. Javas standardbibliotek formligen kryllar av klasser med typparametrar. Typparametrarna tillåter oss att uttrycka i kod att "detta är en lista av hermeliner" vilket medger möjligheten att signalera kompileringsfel om man försöker smyga in katt ibland hermelinerna.

Visa att du förstår konceptet parametrisk polymorfism och hur det kan användas för att flytta fel från körning (undantag) till kompilering (kompileringsfel).

Ge gärna kommentarer och rapportera buggar (klicka på den senaste commiten) (klicka på den senaste commiten)

Edit | Back