一、学生类
Java 学生类是一个常用的对象类,封装了学生的信息,包括姓名、年龄、性别等属性。因为学生类涉及到对象和属性的封装,因此使用面向对象的思想来进行设计。
1、属性字段
public class Student {
private String name; // 姓名
private int age; // 年龄
private char gender; // 性别
private String id; // 学号
private String major; // 专业
}
2、构造函数
public class Student {
// 构造函数1:不带参数
public Student() {}
// 构造函数2:带参数
public Student(String name, int age, char gender, String id, String major) {
this.name = name;
this.age = age;
this.gender = gender;
this.id = id;
this.major = major;
}
}
3、获取属性方法
public class Student {
// 获取姓名
public String getName() {
return name;
}
// 获取年龄
public int getAge() {
return age;
}
// 获取性别
public char getGender() {
return gender;
}
// 获取学号
public String getId() {
return id;
}
// 获取专业
public String getMajor() {
return major;
}
}
二、教师类
Java 教师类也是一个常用的对象类,封装了教师的信息,包括姓名、年龄、性别、工号、所教科目等属性。同样是因为教师类涉及到属性的封装,因此同样可以使用面向对象思想进行设计。
1、属性字段
public class Teacher {
private String name; // 姓名
private int age; // 年龄
private char gender; // 性别
private String id; // 工号
private String subject; // 教授科目
}
2、构造函数
public class Teacher {
// 构造函数1:不带参数
public Teacher() {}
// 构造函数2:带参数
public Teacher(String name, int age, char gender, String id, String subject) {
this.name = name;
this.age = age;
this.gender = gender;
this.id = id;
this.subject = subject;
}
}
3、获取属性方法
public class Teacher {
// 获取姓名
public String getName() {
return name;
}
// 获取年龄
public int getAge() {
return age;
}
// 获取性别
public char getGender() {
return gender;
}
// 获取工号
public String getId() {
return id;
}
// 获取教授科目
public String getSubject() {
return subject;
}
}
三、学生类与教师类的继承关系
学生类和教师类都涉及到人员信息的封装,因此在面向对象的设计中可以使用继承关系来进行封装。
1、父类 Person
public class Person {
protected String name; // 姓名
protected int age; // 年龄
protected char gender; // 性别
// 构造函数1:不带参数
public Person() {}
// 构造函数2:带参数
public Person(String name, int age, char gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
// 获取姓名
public String getName() {
return name;
}
// 获取年龄
public int getAge() {
return age;
}
// 获取性别
public char getGender() {
return gender;
}
}
2、学生类 Student 继承自 Person 父类
public class Student extends Person {
private String id; // 学号
private String major; // 专业
// 构造函数1:不带参数
public Student() {}
// 构造函数2:带参数
public Student(String name, int age, char gender, String id, String major) {
super(name, age, gender);
this.id = id;
this.major = major;
}
// 获取学号
public String getId() {
return id;
}
// 获取专业
public String getMajor() {
return major;
}
}
3、教师类 Teacher 继承自 Person 父类
public class Teacher extends Person {
private String id; // 工号
private String subject; // 教授科目
// 构造函数1:不带参数
public Teacher() {}
// 构造函数2:带参数
public Teacher(String name, int age, char gender, String id, String subject) {
super(name, age, gender);
this.id = id;
this.subject = subject;
}
// 获取工号
public String getId() {
return id;
}
// 获取教授科目
public String getSubject() {
return subject;
}
}
四、学生类与教师类的应用举例
学生类和教师类的应用非常广泛。我们可以在学校管理系统中使用学生类来完成学生信息的管理,而教师类则可以用来管理教师信息。下面给出一个简单的例子,使用学生类和教师类来表示学生和教师信息。
import java.util.ArrayList;
public class SchoolManagementSystem {
private ArrayList students; // 所有学生
private ArrayList teachers; // 所有教师
// 构造函数
public SchoolManagementSystem() {
students = new ArrayList();
teachers = new ArrayList();
}
// 添加学生
public void addStudent(String name, int age, char gender, String id, String major) {
Student student = new Student(name, age, gender, id, major);
students.add(student);
}
// 添加教师
public void addTeacher(String name, int age, char gender, String id, String subject) {
Teacher teacher = new Teacher(name, age, gender, id, subject);
teachers.add(teacher);
}
// 获取所有学生
public ArrayList getAllStudents() {
return students;
}
// 获取所有教师
public ArrayList getAllTeachers() {
return teachers;
}
}