Hackerrank Java Factory Pattern Solution

Hackerrank Java Factory Pattern Solution

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

cake

Sample Output 1

The factory returned class Cake
Someone ordered a Dessert!

Sample Input 2

pizza

Sample Output 2

The factory returned class Pizza
Someone ordered Fast Food!

Solution in java8

Approach 1.

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

Approach 2.

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


Approach 3.

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

Subscribe to The Poor Coder | Algorithm Solutions

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
[email protected]
Subscribe