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