1
Handout A
for
e02
CS56 F17

Beverage.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class Beverage extends Product implements Edible {

private int calories;
private double fluidOunces;

public Beverage(int price, String name,
int calories, double fluidOunces) {
super(price, name);
this.calories = calories;
this.fluidOunces = fluidOunces;
}

public int getCalories() {return this.calories;}
public double getFluidOunces() {return this.fluidOunces;}
}

Edible.java

1
2
3
4
/** something that can be eaten */
public interface Edible {
public int getCalories();
}

Food.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class Food extends Product implements Edible {

private int calories;
private double weight;

public Food(int price, String name,
int calories, double weight) {
super(price, name);
this.calories = calories;
this.weight = weight;
}

public int getCalories() {return this.calories;}
public double getWeight() {return this.weight;}
}

Code for

PartialFoods problem

FreeCandy.java

1
2
3
4
5
6
7
8
9
10
public class FreeCandy implements Edible {

private int calories;

public FreeCandy(int calories) {
this.calories = calories;
}

public int getCalories() {return this.calories;}
}

Product.java

1
2
3
4
5
6
7
8
9
10
11
12
public abstract class Product {
String name;
int price;

public int getPrice() { return price; }
public String getName() {return name;}

public Product(int price, String name) {
this.price = price;
this.name = name;
}
}
End of Handout