This commit is contained in:
xixu-me committed 2024-03-30 16:39:21 +08:00
1 parent 062beda77e
commit b0055a87bd
25 files changed
+40 -93

No files matched your search

+23
View File
@@ -0,0 +1,23 @@
package school;
public class Administrator extends Person {
private String adminID;
public Administrator(String name, int age, String adminID) {
super(name, age);
this.adminID = adminID;
}
public void speak() {
System.out.println("I am an administrator, my name is " + getName() + ", and I am " + getAge()
+ " years old. My admin ID is " + adminID + ".");
}
public String getAdminID() {
return adminID;
}
public void setAdminID(String adminID) {
this.adminID = adminID;
}
}
+40
View File
@@ -0,0 +1,40 @@
package school;
import java.util.ArrayList;
import java.util.List;
public class ManagementSys {
private static ManagementSys instance = null;
private List<Person> persons;
private ManagementSys() {
persons = new ArrayList<Person>();
}
public static ManagementSys getInstance() {
if (instance == null) {
instance = new ManagementSys();
}
return instance;
}
public void addPerson(Person person) {
persons.add(person);
}
public void removePerson(Person person) {
persons.remove(person);
}
public void updatePerson(int index, Person person) {
persons.set(index, person);
}
public List<Person> getPersons() {
return persons;
}
public void setPersons(List<Person> persons) {
this.persons = persons;
}
}
+24
View File
@@ -0,0 +1,24 @@
package school;
public class Manager extends Person {
private static Manager instance = null;
private Manager(String name, int age) {
super(name, age);
}
public static Manager getInstance(String name, int age) {
if (instance == null) {
instance = new Manager(name, age);
}
return instance;
}
public void manage() {
System.out.println("I am the administrator and I am responsible for managing everyone.");
}
public void speak() {
System.out.println("I am the manager, my name is " + getName() + ", and I am " + getAge() + " years old.");
}
}
+31
View File
@@ -0,0 +1,31 @@
package school;
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public void speak() {
System.out.println("I am a person, my name is " + name + ", and I am " + age + " years old.");
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
+23
View File
@@ -0,0 +1,23 @@
package school;
public class Staff extends Person {
private String staffID;
public Staff(String name, int age, String staffID) {
super(name, age);
this.staffID = staffID;
}
public void speak() {
System.out.println("I am a staff, my name is " + getName() + ", and I am " + getAge()
+ " years old. My staff ID is " + staffID + ".");
}
public String getStaffID() {
return staffID;
}
public void setStaffID(String staffID) {
this.staffID = staffID;
}
}
+23
View File
@@ -0,0 +1,23 @@
package school;
public class Student extends Person {
private String studentID;
public Student(String name, int age, String studentID) {
super(name, age);
this.studentID = studentID;
}
public void speak() {
System.out.println("I am a student, my name is " + getName() + ", and I am " + getAge()
+ " years old. My student ID is " + studentID + ".");
}
public String getStudentID() {
return studentID;
}
public void setStudentID(String studentID) {
this.studentID = studentID;
}
}
+23
View File
@@ -0,0 +1,23 @@
package school;
public class Teacher extends Person {
private String teacherID;
public Teacher(String name, int age, String teacherID) {
super(name, age);
this.teacherID = teacherID;
}
public void speak() {
System.out.println("I am a teacher, my name is " + getName() + ", and I am " + getAge()
+ " years old. My teacher ID is " + teacherID + ".");
}
public String getTeacherID() {
return teacherID;
}
public void setTeacherID(String teacherID) {
this.teacherID = teacherID;
}
}
+40
View File
@@ -0,0 +1,40 @@
package school;
import library.Administrator;
public class Test {
public static void main(String[] args) {
ManagementSys sys = ManagementSys.getInstance();
Student std = new Student("John", 20, "S2201110101");
sys.addPerson(std);
Teacher tch = new Teacher("Tom", 30, "T2201110101");
sys.addPerson(tch);
Staff stf = new Staff("Jerry", 40, "S2201110101");
sys.addPerson(stf);
Administrator adm = new Administrator("Jack", 50, "A2201110101");
sys.addPerson(adm);
Manager mgr = Manager.getInstance("Marry", 60);
sys.addPerson(mgr);
for (Person person : sys.getPersons()) {
person.speak();
}
sys.removePerson(std);
System.out.println("After removing John");
for (Person person : sys.getPersons()) {
person.speak();
}
sys.updatePerson(0, new Teacher("Tom", 30, "T2201110102"));
System.out.println("After updating Tom");
for (Person person : sys.getPersons()) {
person.speak();
}
}
}