Advertisement
Guest User

Untitled

a guest
Apr 1st, 2015
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.11 KB | None | 0 0
  1. package com.company;
  2.  
  3. //abstract factory
  4.  
  5. class ShapeFactory{ // Abstract factory
  6.     static ConcreteShapeFactory getFactory(int id){
  7.         switch (id){
  8.             case 1: return new TriangleShapeFactory();
  9.             case 2: return new RectangleShapeFactory();
  10.             default: return null;
  11.         }
  12.     }
  13. }
  14.  
  15. abstract class ConcreteShapeFactory{
  16.     abstract Shape getShape();
  17. }
  18.  
  19. class TriangleShapeFactory extends ConcreteShapeFactory{
  20.     Triangle getShape(){
  21.         return new Triangle();
  22.     }
  23. }
  24.  
  25. class RectangleShapeFactory extends ConcreteShapeFactory{
  26.     Rectangle getShape(){
  27.         return new Rectangle();
  28.     }
  29. }
  30.  
  31. abstract class Shape{
  32.     abstract void print();
  33. }
  34.  
  35. class Triangle extends Shape{
  36.     public void print(){
  37.         System.out.println("Triangle");
  38.     }
  39. }
  40.  
  41. class Rectangle extends Shape{
  42.     public void print(){
  43.         System.out.println("Rectangle");
  44.     }
  45. }
  46.  
  47. public class Main {
  48.  
  49.     public static void main(String[] args) {
  50.         ConcreteShapeFactory c = ShapeFactory.getFactory(1);
  51.         Shape s = c.getShape();
  52.         s.print();
  53.     }
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement