...
Expand | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||
Course-klassen tilsvarer et undervist emne i et bestemt semester. Kurskoden (code) oppgis ved opprettelsen av Course-objekter, mens studiepoeng (credits) og semesteret (time) kan settes senere. Oppgave a)Deklarer felt for time-egenskapen, og skriv kode for getYear, getSemester, getTime og setTime (se vedlegg 3). Med tanke på del 4, så kan det være lurt å lage en metode som sjekker formatet til setTime sitt time-argument, som kan brukes i andre klasser.
Oppgave b) Course-objekter skal kunne sorteres kronologisk på semesteret de undervises. Forklar hvilke endringer som må gjøres på Course-klassen for å kunne bruke Java sin standard mekanisme for sortering, og skriv den nødvendige koden.
Exam-klassen tilsvarer en avlagt eksamen for et undervist emne. Både emnet (course) og karakteren (grade) oppgis ved opprettelse av Exam-objekter. Oppgave c)Deklarer felt for course- og grade-egenskapene, og skriv konstruktøren og isPass-metoden (se vedlegg 3).
Oppgave d)Exam-objekter skal også kunne sorteres, men på to måter! Standard-sorteringen skal være kronologisk på semesteret kurset ble undervist, men Exam-objektene skal også kunne sorteres på karakter. Forklar hvordan begge sorteringene kan støttes og skriv nødvendig kode.
Se også wiki-side om Sortering med Comparable og Comparator |
Expand | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||
Person-klassen er knyttet til Course- og Exam-klassene, og tanken er at Course-objekter legges til når en person melder seg opp og Exam-objekter legges til når eksamen er avlagt. En skal bare kunne ta eksamen i kurs en har meldt seg opp i! Oppgave a)Skriv kode for name-egenskapen, gitt at den bare skal kunne settes ved opprettelse av Person-objekter.
Oppgave b) Deklarer felt for courses-egenskapen, og begrunn valg av type. Skriv kode for addCourse og hasCourse (se vedlegg 3).
Oppgave c)Deklarer felt for exams-egenskapen, og begrunn valg av type. Skriv kode for addExam, getLastExam og hasPassed (se vedlegg 3).
Oppgave d)Skriv kode for countCredits-metoden i Person-klassen. Hust at en ikke får studiepoeng for kurs uten å ha tatt og bestått eksamen, og at det er siste karakter som teller!
|
...