From 8f2bedfa2818cd4a2130e1a4fa31d4dff67c82f2 Mon Sep 17 00:00:00 2001 From: xuxin <840198532@qq.com> Date: Wed, 23 Sep 2026 15:48:30 +0800 Subject: [PATCH] =?UTF-8?q?day09--=E7=BB=A7=E6=89=BF=E7=BB=83=E4=B9=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inmind/extends_this_super05/Clerk.java | 32 ++++++++++++++ .../inmind/extends_this_super05/Employee.java | 44 +++++++++++++++++++ .../inmind/extends_this_super05/Manager.java | 39 ++++++++++++++++ .../inmind/extends_this_super05/Test09.java | 36 +++++++++++++++ 4 files changed, 151 insertions(+) create mode 100644 day09/src/com/inmind/extends_this_super05/Clerk.java create mode 100644 day09/src/com/inmind/extends_this_super05/Employee.java create mode 100644 day09/src/com/inmind/extends_this_super05/Manager.java create mode 100644 day09/src/com/inmind/extends_this_super05/Test09.java diff --git a/day09/src/com/inmind/extends_this_super05/Clerk.java b/day09/src/com/inmind/extends_this_super05/Clerk.java new file mode 100644 index 0000000..68429ec --- /dev/null +++ b/day09/src/com/inmind/extends_this_super05/Clerk.java @@ -0,0 +1,32 @@ +package com.inmind.extends_this_super05; +//定义职员Clerk类继承Employee类,包含属性:经理,重写show方法,在父类实现基础之上增加展示经理信息。 +public class Clerk extends Employee{ + private Manager manager; + + public Clerk() { + super(); + } + public Clerk(String name, int id, String department) { + super(name, id, department); + } + + public Clerk(String name, int id, String department,Manager manager) { + super(name, id, department); + this.manager = manager; + } + + public Manager getManager() { + return manager; + } + + public void setManager(Manager manager) { + this.manager = manager; + } + + //重写show方法,在父类实现基础之上增加展示经理信息 + @Override + public void show() { + super.show();//沿袭 + System.out.println("我的经理是:"+this.manager.getName()); + } +} diff --git a/day09/src/com/inmind/extends_this_super05/Employee.java b/day09/src/com/inmind/extends_this_super05/Employee.java new file mode 100644 index 0000000..ca22ed1 --- /dev/null +++ b/day09/src/com/inmind/extends_this_super05/Employee.java @@ -0,0 +1,44 @@ +package com.inmind.extends_this_super05; +//定义员工Employee类。包含属性:姓名,工号,部门,成员方法show,方法内展示员工信息。 +public class Employee { + private String name; + private int id; + private String department; + + public Employee() { + } + + public Employee(String name, int id, String department) { + this.name = name; + this.id = id; + this.department = department; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getDepartment() { + return department; + } + + public void setDepartment(String department) { + this.department = department; + } + + public void show(){ + System.out.println("我叫"+this.name+",我的工号是"+this.id+",我是"+this.department+"部门的"); + } +} diff --git a/day09/src/com/inmind/extends_this_super05/Manager.java b/day09/src/com/inmind/extends_this_super05/Manager.java new file mode 100644 index 0000000..53837d2 --- /dev/null +++ b/day09/src/com/inmind/extends_this_super05/Manager.java @@ -0,0 +1,39 @@ +package com.inmind.extends_this_super05; + +import java.util.ArrayList; + +//定义经理Manager类继承Employee类,包含属性:职员,重写show方法,在父类实现基础之上增加展示职员信息。 +public class Manager extends Employee{ + //职员们 + private ArrayList clerkList; + + public Manager() { + super(); + } + + public Manager(String name, int id, String department) { + super(name, id, department); + } + + //对经理的独有属性进行操作 + public ArrayList getClerkList() { + return clerkList; + } + + public void setClerkList(ArrayList clerkList) { + this.clerkList = clerkList; + } + + //重写show方法,在父类实现基础之上增加展示职员信息。 + + @Override + public void show() { + super.show();//沿袭父类功能 + //展示自己的职员们 + System.out.println("我的下属有:"); + for (int i = 0; i < clerkList.size(); i++) { + Clerk clerk = clerkList.get(i); + System.out.println(clerk.getName()); + } + } +} diff --git a/day09/src/com/inmind/extends_this_super05/Test09.java b/day09/src/com/inmind/extends_this_super05/Test09.java new file mode 100644 index 0000000..3a9ee91 --- /dev/null +++ b/day09/src/com/inmind/extends_this_super05/Test09.java @@ -0,0 +1,36 @@ +package com.inmind.extends_this_super05; + +import java.util.ArrayList; + +/* +编写步骤: +1. 定义员工Employee类。包含属性:姓名,工号,部门,成员方法show,方法内展示员工信息。 +2. 定义经理Manager类继承Employee类,包含属性:职员,重写show方法,在父类实现基础之上增加展示职员信息。 +3. 定义职员Clerk类继承Employee类,包含属性:经理,重写show方法,在父类实现基础之上增加展示经理信息。 + */ +public class Test09 { + public static void main(String[] args) { + //创建一个经理 + Manager manager = new Manager("张三", 1, "开发部"); + //招3个员工 + Clerk clerk1 = new Clerk("李四", 10, "开发部",manager); + Clerk clerk2 = new Clerk("王五", 11, "开发部",manager); + Clerk clerk3 = new Clerk("赵六", 12, "开发部",manager); + + /*clerk1.setManager(manager); + clerk2.setManager(manager); + clerk3.setManager(manager);*/ + + //创建一个集合,保存当前3个员工,隶属于经理管理 + ArrayList list = new ArrayList<>(); + list.add(clerk1); + list.add(clerk2); + list.add(clerk3); + manager.setClerkList(list); + + //经理展示下自己的下属 + manager.show(); + //职员介绍下自己的经理 + clerk1.show(); + } +}