欢迎光临散文网 会员登陆 & 注册

5、一个公司(Company)拥有多个部门(Department)。请用类图表示它们之间的关系;并

2023-03-09 11:48 作者:酸奶公园  | 我要投稿

1、一个公司(Company)拥有多个部门(Department)。请用类图表示它们之间的关系;并用代码进行实现。

 

 

 

 

package 面向对象基本概念综合练习;

 

import java.util.ArrayList;

 

public class 课堂练习题5 {


class Department {

    private String name; // 部门名称

 

    public Department(String name) {

        this.name = name;

    }

 

    public String getName() {

        return name;

    }

}

 

//定义公司类

class Company {

    private String name; // 公司名称

    private ArrayList<Department> departments; // 公司部门列表

 

    public Company(String name) {

        this.name = name;

        departments = new ArrayList<>();

    }

 

    // 添加部门

    public void addDepartment(Department department) {

        departments.add(department);

    }

 

    // 获取指定名称的部门

    public Department getDepartment(String name) {

        for (Department department : departments) {

            if (department.getName().equals(name)) {

                return department;

            }

        }

        return null;

    }

 

    public String getName() {

        return name;

    }

}

 

//测试代码

public class Test {

    public void main(String[] args) {

        // 创建公司对象

        Company company = new Company("ABC公司");

 

        // 添加部门

        company.addDepartment(new Department("财务部"));

        company.addDepartment(new Department("销售部"));

        company.addDepartment(new Department("人力资源部"));

 

        // 获取部门

        Department department = company.getDepartment("销售部");

        if (department != null) {

            System.out.println("获取部门:" + department.getName());

        } else {

            System.out.println("没有找到部门");

        }

    }

}

 

}

 

类图如下:

 

 

```

+----------+ +----------+

| Company |<>-------o| Department|

+----------+ +----------+

```

代码实现如下:

```java

public class Company {

private List departments;

public Company() {

departments = new ArrayList<>();

}

public void addDepartment(Department department) {

departments.add(department);

}

public void removeDepartment(Department department) {

departments.remove(department);

}

public List getDepartments() {

return departments;

}

}

public class Department {

private String name;

public Department(String name) {

this.name = name;

}

public String getName() {

return name;

}

}

```


5、一个公司(Company)拥有多个部门(Department)。请用类图表示它们之间的关系;并的评论 (共 条)

分享到微博请遵守国家法律