NokiaMobile.jave (Interface) public interface NokiaMobile {     public void price();     public void label(); } ...

Factory Pattern (Nokia Mobile Example)




NokiaMobile.jave (Interface)


public interface NokiaMobile {
    public void price();
    public void label();
}


NokiaLumia.java ( Which will implement the interface)

public class NokiaLumia implements NokiaMobile {
   
    @Override
    public void price()
    {
        System.out.println("50,000");
    }
   
    @Override
    public void label()
    {
        System.out.println("Nokia Lumia L8");
    }
}


NokiaWindowPhone .java ( Which will implement the interface)

public class NokiaWindowPhone implements NokiaMobile{
   
    @Override
    public void price(){
        System.out.println("32,000");
    }
   
    @Override
    public void label(){
        System.out.println("Nokia Window Phone");
    }
   
}

NokiaMobileFactory.java

public class NokiaMobileFactory {
   
    public NokiaMobile getMobile(String mobile)
    {
        if(mobile==null)
        {
            return null;
        }
        else if(mobile.equalsIgnoreCase("Window Phone"))
        {
            return new NokiaWindowPhone();
        }
        else if(mobile.equalsIgnoreCase("Lumia Phone"))
        {
            return new NokiaLumia();
        }  
        return null;  }  }




Factory.java


public class Factory {

    public static void main(String[] args) {
       
        NokiaMobileFactory mobile = new NokiaMobileFactory();
       
        
        NokiaMobile lumia = mobile.getMobile("Lumia Phone");
        lumia.label();
        lumia.price();
       
        System.out.println("-----------------");
       
        NokiaMobile window = mobile.getMobile("Window Phone");
        window.label();
        window.price();
       
        System.out.println("-----------------");
      
    }
}

0 comments :