day09--继承练习
This commit is contained in:
@@ -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());
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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+"部门的");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
package com.inmind.extends_this_super05;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
//定义经理Manager类继承Employee类,包含属性:职员,重写show方法,在父类实现基础之上增加展示职员信息。
|
||||||
|
public class Manager extends Employee{
|
||||||
|
//职员们
|
||||||
|
private ArrayList<Clerk> clerkList;
|
||||||
|
|
||||||
|
public Manager() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Manager(String name, int id, String department) {
|
||||||
|
super(name, id, department);
|
||||||
|
}
|
||||||
|
|
||||||
|
//对经理的独有属性进行操作
|
||||||
|
public ArrayList<Clerk> getClerkList() {
|
||||||
|
return clerkList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setClerkList(ArrayList<Clerk> 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());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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<Clerk> list = new ArrayList<>();
|
||||||
|
list.add(clerk1);
|
||||||
|
list.add(clerk2);
|
||||||
|
list.add(clerk3);
|
||||||
|
manager.setClerkList(list);
|
||||||
|
|
||||||
|
//经理展示下自己的下属
|
||||||
|
manager.show();
|
||||||
|
//职员介绍下自己的经理
|
||||||
|
clerk1.show();
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user