Files
oop/assignment4/Question6/ManyCourses.java
2022-04-21 15:43:38 +08:00

52 lines
1022 B
Java

/*
* Author: CHEN Yongyuan (Walter) 1930006025 from OOP(1007)
* Date: 2022-04-18
* Description: This is the ManyCourses class.
*/
import java.util.ArrayList;
public class ManyCourses {
private ArrayList<Learnable> courses;
/**
* Constructor.
*/
public ManyCourses() {
courses = new ArrayList<Learnable>();
}
/**
* Add a course to the list.
*
* @param course
*/
public void addCourse(Learnable c) {
courses.add(c);
}
/**
* Prints on the screen the course code and title.
*/
public void listCourses() {
for (Learnable c : courses) {
System.out.println(
String.format("%s, %s", c.getCode(), c.getTitle()));
}
}
/**
* Test.
*/
public static void testManyCourses() {
Base b = new Base("DS1001", "EntryCourse");
MajorRequired mr1 = new MajorRequired("DS200X", "OOP", b);
MajorElective me1 = new MajorElective("DS300X", "Data Mining", mr1);
ManyCourses mc = new ManyCourses();
mc.addCourse(b);
mc.addCourse(mr1);
mc.addCourse(me1);
mc.listCourses();
}
}