This commit is contained in:
louiscklaw
2025-01-31 19:15:17 +08:00
parent 09adae8c8e
commit 6c60a73f30
1546 changed files with 286918 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
public class CommissionWorker extends Worker{
private double commission;
private int quantity;
public CommissionWorker(String name, double c, int q) {
super(name);
setCommission(c);
setQuantity(q);
}
public void setCommission(double c) {
commission = c;
}
public void setQuantity(int q) {
quantity = q;
}
public double earnings() {
salary = commission * quantity;
return salary;
}
public String toString() {
return super.toString() + " earned commission of $" +
earnings();
}
}

View File

@@ -0,0 +1,30 @@
public class HourlyWorker extends Worker {
private double wage;
private double hours;
public HourlyWorker(String name, double w, double h) {
super(name);
setWage(w);
setHours(h);
}
public void setWage(double w) {
wage = w;
}
public void setHours(double h) {
hours = h;
}
public double earnings() {
salary = wage * hours;
return salary;
}
public String toString() {
return super.toString() + " earned $" + earnings() +
" for " + hours + " hours";
}
}

View File

@@ -0,0 +1,10 @@
public class TestWorker {
public static void main(String [] args) {
Worker [] w = new Worker[3];
w[0] = new Worker("Peter");
w[1] = new CommissionWorker("John", 120, 10);
w[2] = new HourlyWorker("Mary", 25, 40);
for( int i = 0; i < w.length; i++)
System.out.println(w[i]);
}
}

View File

@@ -0,0 +1,16 @@
public class Worker {
private String name;
protected double salary;
public Worker(String name) {
this.name = name;
}
public double earnings() {
return salary;
}
public String toString() {
return name;
}
}