forked from Shreerang4/learning-basics
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathABCcompany.java
More file actions
106 lines (90 loc) · 2.72 KB
/
ABCcompany.java
File metadata and controls
106 lines (90 loc) · 2.72 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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
class Employee {
String Name;
private float Salary = 10000;
private float Bonus;
Employee(String name) {
this.Name = name;
}
// Setters
void setSalary(float s) {
this.Salary = s;
}
void setBonus(float b) {
this.Bonus = b;
}
// Getters
float getSalary() {
return this.Salary;
}
float getBonus() {
return this.Bonus;
}
}
class Intern extends Employee {
Intern(String name) {
super(name);
super.setBonus(0.1f); // 10% of salary
super.setSalary(super.getSalary() * 0.75f); // Setting Salary based on role
}
// Methods
@Override
float getSalary() {
return super.getSalary();
}
@Override
float getBonus() {
return super.getBonus();
}
}
class Clerk extends Employee {
Clerk(String name) {
super(name);
super.setBonus(0.05f); // 5% of salary
super.setSalary(super.getSalary() * 0.5f); // Setting Salary based on role
}
// Methods
@Override
float getSalary() {
return super.getSalary();
}
@Override
float getBonus() {
return super.getBonus();
}
}
class Manager extends Employee {
Manager(String name) {
super(name);
super.setBonus(0.2f); // 20% of salary
super.setSalary(super.getSalary() * 2f); // Setting Salary based on role
}
// Methods
@Override
float getSalary() {
return super.getSalary();
}
@Override
float getBonus() {
return super.getBonus();
}
}
public class ABCcompany {
public static void main(String[] args) {
Employee x = new Intern("X");
Employee y = new Clerk("Y");
Employee z = new Manager("Z");
System.out.println("\n> Salary of Intern " + x.Name + " is " + x.getSalary());
System.out.println("> Bonus of Intern " + x.Name + " is " + x.getBonus() + "%");
System.out.println("\n> Salary of Clerk " + y.Name + " is " + y.getSalary());
System.out.println("> Bonus of Clerk " + y.Name + " is " + y.getBonus() + "%");
System.out.println("\n> Salary of Manager " + z.Name + " is " + z.getSalary());
System.out.println("> Bonus of Manager " + z.Name + " is " + z.getBonus() + "%");
System.out.println("\n> Final Salary after bonus: ");
x.setSalary(x.getSalary()*(1+x.getBonus()));
y.setSalary(y.getSalary()*(1+y.getBonus()));
z.setSalary(z.getSalary()*(1+z.getBonus()));
System.out.println("> Salary of Intern " + x.Name + " is " + x.getSalary());
System.out.println("> Salary of Clerk " + y.Name + " is " + y.getSalary());
System.out.println("> Salary of Manager " + z.Name + " is " + z.getSalary());
}
}