From 42462a87a828045a90ebf5a0617727e8c3502276 Mon Sep 17 00:00:00 2001 From: Chengwuyi <3394813085@qq.com> Date: Sat, 30 May 2026 22:05:24 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6=E8=87=B3?= =?UTF-8?q?=20'w5'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- w5/Person.java | 21 +++++++++++++++++++++ w5/SchoolSystem.java | 30 ++++++++++++++++++++++++++++++ w5/Student.java | 18 ++++++++++++++++++ w5/Teacher.java | 18 ++++++++++++++++++ w5/TemperatureConverter.zip | Bin 0 -> 943 bytes 5 files changed, 87 insertions(+) create mode 100644 w5/Person.java create mode 100644 w5/SchoolSystem.java create mode 100644 w5/Student.java create mode 100644 w5/Teacher.java create mode 100644 w5/TemperatureConverter.zip diff --git a/w5/Person.java b/w5/Person.java new file mode 100644 index 0000000..d6f04a9 --- /dev/null +++ b/w5/Person.java @@ -0,0 +1,21 @@ +public abstract class Person { + protected String name; + protected int age; + + public Person(String name, int age) { + this.name = name; + this.age = age; + } + + public String getName() { return name; } + public int getAge() { return age; } + + public abstract String getRole(); + public abstract String getExtraInfo(); + + @Override + public String toString() { + return getRole() + " | Name: " + name + ", Age: " + age + + ", " + getExtraInfo(); + } +} diff --git a/w5/SchoolSystem.java b/w5/SchoolSystem.java new file mode 100644 index 0000000..4aea6bc --- /dev/null +++ b/w5/SchoolSystem.java @@ -0,0 +1,30 @@ +import java.util.ArrayList; +import java.util.List; + +public class SchoolSystem { + private List personList = new ArrayList<>(); + + // 统一的 addPerson 方法,替代原来的 addStudent / addTeacher + public void addPerson(Person p) { + personList.add(p); + System.out.println("Added: " + p); + } + + public void listAll() { + System.out.println("\n--- All Members ---"); + for (Person p : personList) { + System.out.println(p); + } + } + + public static void main(String[] args) { + SchoolSystem system = new SchoolSystem(); + + system.addPerson(new Student("Alice", 20, "S001", 3.8)); + system.addPerson(new Student("Bob", 19, "S002", 3.5)); + system.addPerson(new Teacher("Mr. Chen", 35, "Math", 10)); + system.addPerson(new Teacher("Ms. Li", 28, "English", 4)); + + system.listAll(); + } +} diff --git a/w5/Student.java b/w5/Student.java new file mode 100644 index 0000000..7384080 --- /dev/null +++ b/w5/Student.java @@ -0,0 +1,18 @@ +public class Student extends Person { + private String studentId; + private double gpa; + + public Student(String name, int age, String studentId, double gpa) { + super(name, age); + this.studentId = studentId; + this.gpa = gpa; + } + + @Override + public String getRole() { return "Student"; } + + @Override + public String getExtraInfo() { + return "ID: " + studentId + ", GPA: " + gpa; + } +} diff --git a/w5/Teacher.java b/w5/Teacher.java new file mode 100644 index 0000000..2e3fa77 --- /dev/null +++ b/w5/Teacher.java @@ -0,0 +1,18 @@ +public class Teacher extends Person { + private String subject; + private int yearsOfExperience; + + public Teacher(String name, int age, String subject, int yearsOfExperience) { + super(name, age); + this.subject = subject; + this.yearsOfExperience = yearsOfExperience; + } + + @Override + public String getRole() { return "Teacher"; } + + @Override + public String getExtraInfo() { + return "Subject: " + subject + ", Experience: " + yearsOfExperience + " years"; + } +} diff --git a/w5/TemperatureConverter.zip b/w5/TemperatureConverter.zip new file mode 100644 index 0000000000000000000000000000000000000000..9553eedc9f962d68b8c2e18b63d26c3c7c9fac7c GIT binary patch literal 943 zcmWIWW@Zs#-~d7q|MVCJBp}Y9zz~v}Taa3mSW;S)>YSffmReMjTBKJ{Sz5u(z{mnp z3noHCcp2Dlw64ws;ln`O8*hu0TSmV%3GWPje{1XS&1oCgl)ar=k;8K5*u>pt@ApNNM3L@; zZ1r)F3@RfB(qC7bdgv z-nN&2>(Y5!`quROV&6Ab(zDj>J=^QArmlFpF}j-f&K21cth&4>8Wv@VPWG>Gcigqz z{=CYEOITEzqY81nD9oQLHot^#ZL=_Hu^ewNG)5JvFE@lZKD;b!aW@_v(~NH zGV?yC>3f+7j_GH=x^DHF7p+m}^g`VruWG!Nf=6{ps}b^vQ4PzW1%1 zozc5{+o3xtjMG0P^L%DqX_(&T-Ql3gUee`MyJm)~oFf?kkk=E_%T%dLPy?uZ; zJ4cQ8!XMX}7#Nt?7#IS)8JR?w5xEChPMkpko|m>Yf|$hSB~}JTP(BLqW(8Woz`zKE Lu|V2}8N>qsmRyA< literal 0 HcmV?d00001