采用面向对象的思想,采用集合存储三个部门职 位不同的 14 位员工,员工信息(工号,姓名,职位,入职时间、上司 工号、工资、补贴、部门),统计每个部分的总工资,每 个部分的职位,以及对员工工资进行降序排序。
时间: 2023-01-31 10:54:57 浏览: 154
使用面向对象的思想定义系统数据(会员和商品信息)、实现显示客户信息、添加客户和幸运大放送功能,并定义会员类,商品类进行数组存储
面向对象思想是一种程序设计思想,它将程序看作一系列对象的集合,每个对象都有自己的属性和行为。
为了解决上述问题,我们需要定义三个部门,每个部门都有若干个员工。我们可以使用一个类来表示部门,另一个类来表示员工。
我们可以使用一个集合来存储所有员工,这样就可以对员工进行排序和统计。
例如,我们可以定义以下类:
```
class Department {
String name;
Set<Employee> employees;
Department(this.name, this.employees);
double getTotalSalary() {
double total = 0;
for (Employee employee in employees) {
total += employee.salary + employee.allowance;
}
return total;
}
Set<String> getPositions() {
Set<String> positions = Set();
for (Employee employee in employees) {
positions.add(employee.position);
}
return positions;
}
}
class Employee {
int id;
String name;
String position;
DateTime hireDate;
int managerId;
double salary;
double allowance;
Department department;
Employee(this.id, this.name, this.position, this.hireDate, this.managerId, this.salary, this.allowance, this.department);
}
```
然后,我们可以使用以下代码来创建员工并将其放入集合中:
```
Department department1 = Department('Department 1', Set());
Department department2 = Department('Department 2', Set());
Department department3 = Department('Department 3', Set());
Set<Employee> employees = Set();
employees.add(Employee(1, 'Employee 1', 'Position 1', DateTime.now(), null, 100, 50, department1));
employees.add(Employee(2, 'Employee 2', 'Position 2', DateTime.now(), 1, 120, 40, department1));
employees.add(Employee(3, 'Employee 3', 'Position 3', DateTime.now(), 1, 150,
阅读全文