Design a console application that will print an estate agent property sale commission report. Use
an abstract class named EstateAgent that contains variables to store the estate agent's name and
property price. Create a constructor accepting the estate agent's name and property price as
parameters. In this class, also create get methods to get the estate agent name, property price
and estate agent commission. The agent commission is calculated at 20% of the property sale
price. The EstateAgent class must implement an iEstateAgent interface that contains the
following:
public interface iEstateAgent
{
String getAgentName();
double getPropertyPrice();
double getAgentCommission();
}
Create a subclass called EstateAgentSales that extends the EstateAgent class. The
EstateAgentSales class must contain a constructor to accept the estate agent name and the
property sale amount as parameters. Write code for the printPropertyReport method, which
prints the estate agent name, property sale price and the estate agent commission amount.
Finally, write a RunApplication class to instantiate the EstateAgentSales class.
in java
1 answer
// EstateAgent abstract class
abstract class EstateAgent implements iEstateAgent {
private String agentName;
private double propertyPrice;
public EstateAgent(String agentName, double propertyPrice) {
this.agentName = agentName;
this.propertyPrice = propertyPrice;
}
public String getAgentName() {
return agentName;
}
public double getPropertyPrice() {
return propertyPrice;
}
public double getAgentCommission() {
return propertyPrice * 0.2;
}
}
// iEstateAgent interface
public interface iEstateAgent {
String getAgentName();
double getPropertyPrice();
double getAgentCommission();
}
// EstateAgentSales subclass
class EstateAgentSales extends EstateAgent {
public EstateAgentSales(String agentName, double propertyPrice) {
super(agentName, propertyPrice);
}
public void printPropertyReport() {
System.out.println("Estate Agent: " + getAgentName());
System.out.println("Property Price: $" + getPropertyPrice());
System.out.println("Agent Commission: $" + getAgentCommission());
}
}
// RunApplication class
public class RunApplication {
public static void main(String[] args) {
EstateAgentSales agent1 = new EstateAgentSales("Agent 1", 100000.00);
agent1.printPropertyReport();
EstateAgentSales agent2 = new EstateAgentSales("Agent 2", 150000.00);
agent2.printPropertyReport();
}
}