Skip to content
the poor coder

Hackerrank Java Factory Pattern Solution

Poor Man
Published
Updated
Reading time
1 min read

According to Wikipedia, a factory is simply an object that returns another object from some other method call, which is assumed to be "new".

In this problem, you are given an interface Food. There are two classes Pizza and Cake which implement the Food interface, and they both contain a method getType().

The main function in the Main class creates an instance of the FoodFactory class. The FoodFactory class contains a method getFood(String) that returns a new instance of Pizza or Cake according to its parameter.

You are given the partially completed code in the editor. Please complete the FoodFactory class.

Sample Input 1

Text
cake

Sample Output 1

Text
The factory returned class Cake
Someone ordered a Dessert!

Sample Input 2

Text
pizza

Sample Output 2

Text
The factory returned class Pizza
Someone ordered Fast Food!

Solution in java8#

Approach 1.

Python
        return order.equals("pizza")?new Pizza():new Cake();

Approach 2.

Python
if(order.equals("cake"))
{
    return new Cake();
}
else 
{
    return new Pizza();
}

Approach 3.

Python
switch (order) {
    case "cake": return new Cake();
    case "pizza": return new Pizza();
    default: return null;
}

Keep going

ESC