refactor
This commit is contained in:
1 parent
062beda77e
commit
b0055a87bd
25 files changed
+40
-93
No files matched your search
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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.");
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user