05.09.2013 Views

Grundlæggende Programmering IT-C, Forår 2001 Løbeseddel 8

Grundlæggende Programmering IT-C, Forår 2001 Løbeseddel 8

Grundlæggende Programmering IT-C, Forår 2001 Løbeseddel 8

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

der giver følgende uddata:<br />

Alle tre beholdere er tomme (true): true<br />

Indhold af v2 = 3375.0<br />

Alle tre beholdere er tomme (false): false<br />

Opgave Java62 — personer på <strong>IT</strong>-C<br />

Definer et klassehierarki til at repræsentere personer på <strong>IT</strong>-C:<br />

Studerende<br />

<strong>IT</strong>CPerson<br />

Ansat<br />

VIP TAP<br />

Stiplede kasser repræsenterer abstrake<br />

klasser.<br />

Start med den abstrakte klasse <strong>IT</strong>CPerson der skal indeholde felter for navn og adresse. Klassen skal også forsynes<br />

med en konstruktor samt en toString metode der laver en tegnstreng sammensat af personoplysningerne. Vi lader<br />

klassen være abstrakt selvom at alle metoderne er implementeret.<br />

Underklassen Studerende er konkret og tilføjer et studienummer til de oplysninger der gemmes om personen.<br />

Overskriv metoden toString fra <strong>IT</strong>CPerson således at studienumeret kommer med (brug super.toString()<br />

for at få fat i toString metoden fra <strong>IT</strong>CPerson). Lav også en passende konstruktor der initialiserer feltet studienummer<br />

samt kalder konstruktoren i superklassen for at få felterne navn og adresse initialiseret.<br />

Underklassen Ansat er abstrakt og tilføjer et lønkontonummer. Den skal også have en passende toString<br />

metode og konstruktor. Vi lader Ansat være abstrakt selvom at alle metoderne er implementeret.<br />

Underklasserne TAP (teknisk–administrativt personale) og VIP (videnskabligt personale) er konkrete udvidelser<br />

af Ansat. TAPere er repræsenteret tilstrækkeligt detaljeret ved egenskaberne der arves fra Ansat. VIPere er kendetegnet<br />

ved at de har undervisning på kurser, så giv hver VIP en tabel over navnene på de kurser han eller hun underviser<br />

på. Forsyn både TAP og VIP med passende konstruktorer og toString metoder. Vink: toString metoden for en<br />

VIP er lidt mere kompliceret end de andre toString metoder idet indholdet af kursustabellen også skal med i den<br />

tegnstreng der returneres. Du skal altså bruge en løkke i toString metoden. Derudover skal konstruktoren for en<br />

VIP tage en kursustabel som argument.<br />

Skriv en metode static void udskriv(<strong>IT</strong>CPerson[] ps) der givet en tabel af <strong>IT</strong>C-personer kan udskrive<br />

den (brug toString). Brug metoden i et program der opretter og udskriver en tabel af studerende, TAPere og<br />

VIPere (mindst én person af hver slags).<br />

Du kan f.eks. bruge følgende klasse til at teste dine personklasser:<br />

public class Java62 {<br />

static void udskriv(<strong>IT</strong>CPerson[] ps) {<br />

// Skriv din kode her<br />

}<br />

}<br />

public static void main(String[] args) {<br />

Studerende stud = new Studerende("Lene Hallenberg", "Øresundsvej 82, 3. tv.", 1);<br />

TAP tap = new TAP("Niels Hallenberg", "Øresundsvej 82, 3. tv.", "234-223423");<br />

String[] vip_kurser = {"<strong>Grundlæggende</strong> <strong>Programmering</strong>", "Konstruktion af <strong>IT</strong> og medier"};<br />

VIP vip = new VIP("Hugo Thorsen", "Hulteager 3, 4. tv.", "234-234234", vip_kurser);<br />

<strong>IT</strong>CPerson[] itc_personer = {stud, tap, vip};<br />

}<br />

System.out.println(stud.toString());<br />

System.out.println(tap.toString());<br />

System.out.println(vip.toString());<br />

udskriv(itc_personer);<br />

2

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!