一、學生類
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;
}
}