FEN IntroJava AAU1 Endnu mere om Klasser og Objekter Mange til mange relationer Student-Course v3
FEN IntroJava AAU2 Student-Course v2 v3 - Nuværende model: Flere studenter bør kunne følge et kursus: –Problematisk, at hver student har sit eget Course-objekt –Redundans Alternativ model: –Student –Course –Enrollment (Tilmelding) Kan implementeres med en liste af Course-objekter på Student
FEN IntroJava AAU3 Implementering af 0..* relation Navigation fra Student: –Student har en liste af referencer til tilmeldinger. –En tilmelding har en reference til et kursus. Navigation fra Course: –Kursus har en liste af referencer til tilmeldinger. –En tilmelding har en reference til student.
FEN IntroJava AAU4 Navigation fra Student: import java.util.ArrayList; public class Student{ //--- private ArrayList follows; public Student(String name, String addr, int age){ //--- follows= new ArrayList (); } public void print(){ System.out.println("Name: "+name); //--- for(int i= 0; i<follows.size(); i++){ Enrollment e= follows.get(i); e.print(); } //--- } Enrollment Student.print()Course.print() Enrollment.print() Student Course
FEN IntroJava AAU5 public class Enrollment{ private String term; private int grade; private Course course; public Enrollment(String t, Course c){ term= t; course= c; grade= -1; } //--- public void print() { System.out.println("Term: "+term); System.out.println("Grade: "+grade); course.print(); } Enrollment Student.print()Course.print() Enrollment.print() Student Course
FEN IntroJava AAU6 public class Course{ private String title; private String description; private String dept; public Course(String t, String d) { title= t; dept= d; } //--- public void print() { System.out.println("Course Title: "+title); System.out.println("Course Description: "+description); System.out.println("Department: "+dept); } Enrollment Student.print()Course.print() Enrollment.print() Student Course
FEN IntroJava AAU7 Øvelser KundeCD v2