Solution
Aditya answered on
May 04 2021
code3/BasePlusCommissionEmployee.java
code3/BasePlusCommissionEmployee.java
public class BasePlusCommissionEmployee extends CommissionEmployee {
private double baseSalary;Â
 base salary per week
 constructo
public BasePlusCommissionEmployee(String firstName, String lastName,String socialSecurityNumber,int month,int day,int year, double grossSales,double commissionRate, double baseSalary)Â
{
    super(firstName, lastName, socialSecurityNumber,month,day,year,grossSales, commissionRate);
if (baseSalary<0.0)
{Â
 validate baseSalary
throw new IllegalArgumentException("Base salary must be >= 0.0");
}
this.baseSalary = baseSalary;
}
 set base salary
public void setBaseSalary(double baseSalary)
{
if (baseSalary<0.0)
{Â
 validate baseSalary
   throw new IllegalArgumentException("Base salary must be >= 0.0");
}
this.baseSalary = baseSalary;
}
 return base salary
public double getBaseSalary()
{Â
    return baseSalary;
}
 calculate earnings; ove
ide method earnings in CommissionEmployee
      @Ove
ide                                                           Â
public double earnings()
{
     return getBaseSalary() + super.earnings();
}
 return String representation of BasePlusCommissionEmployee object
      @Ove
ide                                                          Â
public String toString()
{Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â
  return String.format("%s %s; %s: $%,.2f","base-salaried", super.toString(),"base salary", getBaseSalary());                             Â
}
}
code3/CommissionEmployee.java
code3/CommissionEmployee.java
public class CommissionEmployee extends Employee
{
  private double grossSales;Â
 gross weekly sales
  private double commissionRate;Â
 commission percentage
 constructo
public CommissionEmployee(String firstName, String lastName,String socialSecurityNumber,int month,int day,int year, double grossSales,double commissionRate)
{
super(firstName, lastName, socialSecurityNumber,month,day,year);
if (commissionRate<= 0.0 || commissionRate>= 1.0)Â
 validate
{
    throw new IllegalArgumentException("Commission rate must be > 0.0 and < 1.0");
}
 Â
if (grossSales<0.0)
{Â
 validate
throw new IllegalArgumentException("Gross sales must be >= 0.0");
 }
this.grossSales = grossSales;
this.commissionRate = commissionRate;
 }
 set gross sales amount
public void setGrossSales(double grossSales)
{
if (grossSales<0.0)
{Â
 validate
   throw new IllegalArgumentException("Gross sales must be >= 0.0");
}
this.grossSales = grossSales;
  }
 return gross sales amount
public double getGrossSales()
{
    return grossSales;
}
 set commission rate
public void setCommissionRate(double commissionRate)
{
if (commissionRate<= 0.0 || commissionRate>= 1.0)
{Â
 validate
throw new IllegalArgumentException("Commission rate must be > 0.0 and < 1.0");
}
this.commissionRate = commissionRate;
}
 return commission rate
public double getCommissionRate()Â
{
    return commissionRate;
}
 calculate earnings; ove
ide abstract method earnings in Employee
      @Ove
ide                                                          Â
public double earnings()
{Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â
eturn getCommissionRate() * getGrossSales();                   Â
}
 return String representation of CommissionEmployee object
      @Ove
ide                                                  Â
public String toString() {                                 Â
eturn String.format("%s: %s%n%s: $%,.2f; %s: %.2f","commission employee", super.toString(),"gross sales", getGrossSales(),"commission rate", getCommissionRate());             Â
  }
  }
code3/Date.java
code3/Date.java
public class DateÂ
{
private int month;Â
 1-12
private int day;Â
 1-31 b...