Question #59368

The abstract Fruit.java class contains some methods and variables that it takes care of, and one method called getCost() that every inheriting subclass must Override given that each fruit object will calculate the cost differently.

1-Apple: The apple class inherits from Fruit. It accepts also the number of apples to add in the constructor. The price returned is per dozen! You must use the price already given to you in file Consts.java. The getCost() method must return the correct price for all the applies. For example, if the price per dozen is 24.0, and you added 3 apples, then the total cost of this class should return 6.0 QR.
1

Expert's answer

2016-04-20T11:29:05-0400

Here is the processed document with the code blocks restored and formatted:

Condition

2- We must calculate the banana price by supplying both how many KGs of bananas we are adding to the cart, and the price per KG in the constructor. The getCost() method will return the total cost based on these two values.

3- Lemon: This class also inherits from Fruit. You must supply a price per lemon and how many lemons we are adding through the constructor. The getCost() method will just return the cost of all the lemons.

Code

Task.java

public class Task {
    public static void main(String[] args) {
        Apple apple = new Apple(3);
        System.out.println("Apple: " + apple.getCost());
        Banana banana = new Banana(3, 12.5);
        System.out.println("Banana: " + banana.getCost());
        Lemon lemon = new Lemon(6, 1.5);
        System.out.println("Lemon: " + lemon.getCost());
    }
}

Fruit.java

public abstract class Fruit {
    public abstract double getCost();
}

Consts.java

public class Consts {
    public static final double applePrice = 24.0; // per dozen
}

Apple.java

public class Apple extends Fruit {
    private int applesNumber;
    public Apple(int number) {
        this.applesNumber = number;
    }
    @Override
    public double getCost() {
        return (Consts.applePrice / 12.0) * applesNumber;
    }
}

Banana.java

public class Banana extends Fruit {
    private double bananasWeight;
    private double bananaPrice;
    public Banana(double weight, double price) {
        this.bananasWeight = weight;
        this.bananaPrice = price;
    }
    @Override
    public double getCost() {
        return bananasWeight * bananaPrice;
    }
}

Lemon.java

public class Lemon extends Fruit {
    private int lemonsNumber;
    private double lemonPrice;
    public Lemon(int number, double price) {
        this.lemonsNumber = number;
        this.lemonPrice = price;
    }
    @Override
    public double getCost() {
        return lemonPrice * lemonsNumber;
    }
}

Output

Apple: 6.0

Banana: 37.5

Lemon: 9.0

http://www.AssignmentExpert.com/

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

No comments. Be the first!
LATEST TUTORIALS
APPROVED BY CLIENTS