Repository navigation
Expand file tree
/
Copy pathMain.java
More file actions
65 lines (54 loc) · 1.56 KB
/
Copy pathMain.java
File metadata and controls
65 lines (54 loc) · 1.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
package OOPS;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.ArrayList;
// Inheritance: Full-time employee
class FulltimeEmployee extends Employee {
public FulltimeEmployee(String name, int id, double monthlySalary) {
super(name, id);
this.salary = monthlySalary;
}
}
// Hierarchical Inheritance: Part-time employee
class PartTimeEmployee extends Employee {
public PartTimeEmployee(String name, int id, int hoursWorked, double hourlyRate) {
super(name, id);
this.salary = hoursWorked * hourlyRate;
}
}
// Payroll system to manage employees
class PayRollSystem {
private ArrayList<Employee> employeesList;
public PayRollSystem() {
employeesList = new ArrayList<>();
}
public void addEmployee(Employee employee) {
employeesList.add(employee);
}
public void removeEmployee(int id) {
Employee employeeToRemove = null;
for (Employee employee : employeesList) {
if (employee.getId() == id) {
employeeToRemove = employee;
break;
}
}
if (employeeToRemove != null) {
employeesList.remove(employeeToRemove);
}
}
public void displayEmployees() {
for (Employee employee : employeesList) {
System.out.println(employee);
}
}
}
// Main class
public class Main {
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(() -> {
new EmployeeGUI();
});
}
}