利用java程序定义文件CourseDB.java:单例类,模拟数据库中的课程,初始化后至少封装10门课程
时间: 2024-02-13 19:01:04 浏览: 62
好的,下面是一个示例的 CourseDB 类,它是一个单例类,用于模拟数据库中的课程,初始化后至少封装了10门课程:
```java
import java.util.ArrayList;
import java.util.List;
public class CourseDB {
private static CourseDB instance = null; // 单例实例
private List<Course> courses; // 课程列表
private CourseDB() {
// 初始化至少10门课程
courses = new ArrayList<>();
courses.add(new Course("C001", "Java Programming", 50, "John Smith"));
courses.add(new Course("C002", "Data Structures and Algorithms", 60, "Mary Johnson"));
courses.add(new Course("C003", "Database Management", 40, "Tom Lee"));
courses.add(new Course("C004", "Web Development", 45, "Lucy Chen"));
courses.add(new Course("C005", "Operating Systems", 55, "David Wang"));
courses.add(new Course("C006", "Artificial Intelligence", 30, "Emily Liu"));
courses.add(new Course("C007", "Computer Networks", 50, "James Chen"));
courses.add(new Course("C008", "Software Engineering", 40, "Grace Zhang"));
courses.add(new Course("C009", "Machine Learning", 35, "Richard Wu"));
courses.add(new Course("C010", "Human-Computer Interaction", 30, "Michelle Li"));
}
// 获取单例实例
public static CourseDB getInstance() {
if (instance == null) {
instance = new CourseDB();
}
return instance;
}
// 获取所有课程列表
public List<Course> getCourses() {
return courses;
}
// 根据课程编号获取课程信息
public Course getCourse(String code) {
for (Course course : courses) {
if (course.getCode().equals(code)) {
return course;
}
}
return null;
}
}
```
在这个示例中,我们使用单例模式来实现 CourseDB 类,在构造函数中初始化至少10门课程。我们提供了一个公有的静态方法 getInstance() 来获取单例实例。我们还提供了两个公有方法,getCourses() 方法返回所有课程的列表,getCourse(String code) 方法根据课程编号返回指定的课程信息。课程信息是一个 Course 类的对象,其中包含了课程编号、课程名称、可选人数和授课教师等属性。
阅读全文