public abstract class Cake ., private String cakeMix: public Cake (String cakeMi
ID: 3590871 • Letter: P
Question
public abstract class Cake ., private String cakeMix: public Cake (String cakeMix) f this.cakeMix - cakeMix; public String makeCake) i String cake ""; cake += blend(); cake += pour();.. cake += bake()- return cake;. public String bake) ( return "Bake at 350 degrees F 30 minutes" public String getcakeMix) i return cakeMix; private String blend) . string cake- "Blende(" cake +- etwakeMix() + ", ";.. sakegetLiquid)", " sake getoil() + ", ";. cake += getEggS() + ") ";.. reture cakei public String pour) return "Pour mix into panIn" Create a Cake class in your prob1 folder and copy the code above.Explanation / Answer
abstract class Cake //base class
{
private String cakeMix;
public Cake(String cakeMix) //constructor
{
this.cakeMix = cakeMix;
}
public final String makeCake()
{
String cake = "";
cake += blend();
cake += pour();
cake += bake();
return cake;
}
public String bake()
{
return "Bake at 350 degree F 30 minutes.";
}
public String getCakeMix()
{
return cakeMix;
}
private final String blend()
{
String cake = "Blend:(";
cake += getCakeMix() +",";
cake += getLiquid() +",";
cake += getOil() +",";
cake += getEggs() +") ";
return cake;
}
public String pour()
{
return "Pour mix into pan ";
}
//abstract methods to be override by derived classes
public abstract String getLiquid();
public abstract String getOil();
public abstract String getEggs();
}
class ClassicYellowCake extends Cake //derived class
{
ClassicYellowCake(String cake)
{
super(cake); //calling base class constructor
}
//override abstract methods
public String getLiquid()
{
return "1 cup tap water";
}
public String getOil()
{
return "1/3 cup vegetable oil";
}
public String getEggs()
{
return "3 large eggs";
}
}
class HighAltitudeClassicYellowCake extends ClassicYellowCake
{
HighAltitudeClassicYellowCake(String cake)
{
super(cake);
}
public String getCakeMix()
{
return super.getCakeMix() + " + 2 tbs flour";
}
public String bake() //override bake() method
{
return "Bake at 375 degree F 26 minutes.";
}
}
class OrganicCake extends Cake
{
public OrganicCake(String cake)
{
super(cake);
}
public String getLiquid()
{
return "1 1/4 cup milk";
}
public String getOil()
{
return "1/2 cup canola oil";
}
public String getEggs()
{
return "2 large eggs";
}
}
class CakeDriver
{
public static void main (String[] args)
{
Cake classicYellow = new ClassicYellowCake("Duncan Hines Classic Yellow Cake Mix");
System.out.println("Classic Yellow Cake");
System.out.println("--------------------");
System.out.println(classicYellow.makeCake());
Cake highAltitudeclassicYellow = new HighAltitudeClassicYellowCake("Duncan Hines Classic Yellow Cake Mix");
System.out.println(" High Altitude Classic Yellow Cake");
System.out.println("------------------------------------");
System.out.println(highAltitudeclassicYellow.makeCake());
Cake organicVanilla = new OrganicCake("Organic Vanilla Cake Mix");
System.out.println(" Organic Vanilla Cake");
System.out.println("--------------------");
System.out.println(organicVanilla.makeCake());
}
}
Output:
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.