Click here to watch in Youtube : https://www.youtube.com/watch?v=q9p-E19JFlA
 Click the below Image to Enlarge
| Factory Design Pattern - Implementation - Class Diagram | 
Animal.java
public interface Animal
{
public String speak();
}
Dog .java
public class Dog implements Animal
{
@Override
public String speak()
{
return "Bark Bark Bark";
}
}
Duck.java
public class Duck implements Animal
{
@Override
public String speak()
{
return "Quack Quack Quack";
}
}
Lion.java
public class Lion implements Animal
{
 @Override
 public String speak()
 {
 return "Roar";
 }
}
AnimalFactory.java
public class AnimalFactory
{
 public Animal getAnimal( String animalType )
 {
 Animal animal = null;
 if( "dog".equals(animalType) )
 {
 animal = new Dog();
 }
 else if( "duck".equals(animalType) )
 {
 animal = new Duck();
 }
 else if( "lion".equals(animalType) )
 {
 animal = new Lion();
 }
 return animal;
 }
}
Client.java
public class Client
{
 public static void main( String[] args )
 {
 AnimalFactory animalFactory = new AnimalFactory();
 Animal animal = null;
 String speakSound = null;
 animal = animalFactory.getAnimal("dog");
 System.out.println("Animal Type : "+animal.getClass().getName());
 speakSound = animal.speak();
 System.out.println("dog speak : "+speakSound);
 System.out.println();
 animal = animalFactory.getAnimal("duck");
 System.out.println("Animal Type : "+animal.getClass().getName());
 speakSound = animal.speak();
 System.out.println("duck speak : "+speakSound);
 System.out.println();
 animal = animalFactory.getAnimal("lion");
 System.out.println("Animal Type : "+animal.getClass().getName());
 speakSound = animal.speak();
 System.out.println("lion speak : "+speakSound);
 }
}
Output
Animal Type : Dog
dog speak : Bark Bark Bark
Animal Type : Duck
duck speak : Quack Quack Quack
Animal Type : Lion
lion speak : Roar
 


 
No comments:
Post a Comment