请用Java设计一个Student类,包括学号,学生姓名、电话和年龄。再设计一个操作学生信息的StudentDao接口类,规范对学生信息的增删查改操作,然后设计StudentDaoImpl实现类来重写接口的抽象方法,该实现类要创建一个学生数组,用于保存学生信息,对学生信息的增删改查实际是对该数组进行增删改查,使用动态数组来实现。最后设计服务类来调用操作实现类的重写方法,并创建一个操作接口的变量用于存放接口实现类的引用,使用多态的方式调用接口实现类的重写方法。最后创建主类,调用页面服务类。
时间: 2023-06-12 22:02:50 浏览: 48
以下是Java代码实现:
Student类:
```java
public class Student {
private String id;
private String name;
private String phone;
private int age;
public Student(String id, String name, String phone, int age) {
this.id = id;
this.name = name;
this.phone = phone;
this.age = age;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
```
StudentDao接口类:
```java
import java.util.List;
public interface StudentDao {
public boolean addStudent(Student student);
public boolean deleteStudent(String id);
public boolean updateStudent(String id, Student student);
public Student getStudent(String id);
public List<Student> getAllStudents();
}
```
StudentDaoImpl实现类:
```java
import java.util.ArrayList;
import java.util.List;
public class StudentDaoImpl implements StudentDao {
private List<Student> students = new ArrayList<>();
@Override
public boolean addStudent(Student student) {
return students.add(student);
}
@Override
public boolean deleteStudent(String id) {
for (int i = 0; i < students.size(); i++) {
if (students.get(i).getId().equals(id)) {
students.remove(i);
return true;
}
}
return false;
}
@Override
public boolean updateStudent(String id, Student student) {
for (int i = 0; i < students.size(); i++) {
if (students.get(i).getId().equals(id)) {
students.set(i, student);
return true;
}
}
return false;
}
@Override
public Student getStudent(String id) {
for (int i = 0; i < students.size(); i++) {
if (students.get(i).getId().equals(id)) {
return students.get(i);
}
}
return null;
}
@Override
public List<Student> getAllStudents() {
return students;
}
}
```
StudentService服务类:
```java
import java.util.List;
public class StudentService {
private StudentDao studentDao;
public StudentService(StudentDao studentDao) {
this.studentDao = studentDao;
}
public boolean addStudent(Student student) {
return studentDao.addStudent(student);
}
public boolean deleteStudent(String id) {
return studentDao.deleteStudent(id);
}
public boolean updateStudent(String id, Student student) {
return studentDao.updateStudent(id, student);
}
public Student getStudent(String id) {
return studentDao.getStudent(id);
}
public List<Student> getAllStudents() {
return studentDao.getAllStudents();
}
}
```
主类:
```java
public class Main {
public static void main(String[] args) {
StudentDao studentDao = new StudentDaoImpl();
StudentService studentService = new StudentService(studentDao);
// 添加学生
Student s1 = new Student("001", "张三", "123456789", 20);
studentService.addStudent(s1);
// 修改学生信息
Student s2 = new Student("001", "张三", "987654321", 21);
studentService.updateStudent("001", s2);
// 删除学生
studentService.deleteStudent("001");
// 查询学生
Student s3 = studentService.getStudent("001");
System.out.println(s3);
// 查询所有学生
List<Student> students = studentService.getAllStudents();
for (Student s : students) {
System.out.println(s);
}
}
}
```