You've successfully subscribed to The Poor Coder | Hackerrank Solutions
Great! Next, complete checkout for full access to The Poor Coder | Hackerrank Solutions
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.
Hackerrank Java Factory Pattern Solution

Hackerrank Java Factory Pattern Solution

Beeze Aal
Beeze Aal

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;
}