Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

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: