PatternFactory: Initial commit
This commit is contained in:
6
System Development/PatternFactory/.classpath
Normal file
6
System Development/PatternFactory/.classpath
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<classpath>
|
||||||
|
<classpathentry kind="src" path="src"/>
|
||||||
|
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
||||||
|
<classpathentry kind="output" path="bin"/>
|
||||||
|
</classpath>
|
||||||
17
System Development/PatternFactory/.project
Normal file
17
System Development/PatternFactory/.project
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<projectDescription>
|
||||||
|
<name>PatternFactory</name>
|
||||||
|
<comment></comment>
|
||||||
|
<projects>
|
||||||
|
</projects>
|
||||||
|
<buildSpec>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
</buildSpec>
|
||||||
|
<natures>
|
||||||
|
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||||
|
</natures>
|
||||||
|
</projectDescription>
|
||||||
7
System Development/PatternFactory/src/Circle.java
Normal file
7
System Development/PatternFactory/src/Circle.java
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
public class Circle implements Shape {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void draw() {
|
||||||
|
System.out.println("Inside Circle::draw() method.");
|
||||||
|
}
|
||||||
|
}
|
||||||
24
System Development/PatternFactory/src/PatternFactory.java
Normal file
24
System Development/PatternFactory/src/PatternFactory.java
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
public class PatternFactory {
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
ShapeFactory shapeFactory = new ShapeFactory();
|
||||||
|
|
||||||
|
//get an object of Circle and call its draw method.
|
||||||
|
Shape shape1 = shapeFactory.getShape("CIRCLE");
|
||||||
|
|
||||||
|
//call draw method of Circle
|
||||||
|
shape1.draw();
|
||||||
|
|
||||||
|
//get an object of Rectangle and call its draw method.
|
||||||
|
Shape shape2 = shapeFactory.getShape("RECTANGLE");
|
||||||
|
|
||||||
|
//call draw method of Rectangle
|
||||||
|
shape2.draw();
|
||||||
|
|
||||||
|
//get an object of Square and call its draw method.
|
||||||
|
Shape shape3 = shapeFactory.getShape("SQUARE");
|
||||||
|
|
||||||
|
//call draw method of square
|
||||||
|
shape3.draw();
|
||||||
|
}
|
||||||
|
}
|
||||||
7
System Development/PatternFactory/src/Rectangle.java
Normal file
7
System Development/PatternFactory/src/Rectangle.java
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
public class Rectangle implements Shape {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void draw() {
|
||||||
|
System.out.println("Inside Rectangle::draw() method.");
|
||||||
|
}
|
||||||
|
}
|
||||||
4
System Development/PatternFactory/src/Shape.java
Normal file
4
System Development/PatternFactory/src/Shape.java
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
|
||||||
|
public interface Shape {
|
||||||
|
void draw();
|
||||||
|
}
|
||||||
20
System Development/PatternFactory/src/ShapeFactory.java
Normal file
20
System Development/PatternFactory/src/ShapeFactory.java
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
public class ShapeFactory {
|
||||||
|
|
||||||
|
//use getShape method to get object of type shape
|
||||||
|
public Shape getShape(String shapeType){
|
||||||
|
if(shapeType == null){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
if(shapeType.equalsIgnoreCase("CIRCLE")){
|
||||||
|
return new Circle();
|
||||||
|
|
||||||
|
} else if(shapeType.equalsIgnoreCase("RECTANGLE")){
|
||||||
|
return new Rectangle();
|
||||||
|
|
||||||
|
} else if(shapeType.equalsIgnoreCase("SQUARE")){
|
||||||
|
return new Square();
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
7
System Development/PatternFactory/src/Square.java
Normal file
7
System Development/PatternFactory/src/Square.java
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
public class Square implements Shape {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void draw() {
|
||||||
|
System.out.println("Inside Square::draw() method.");
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user