1 原型模式
2 代码
abstract class Shape{
protected String type;
public String getType() {
System.out.println(type);
return type;
}
}
class Rectangle extends Shape{
public Rectangle(String type){
this.type = type;
}
}
class Square extends Shape{
public Square(String type){
this.type = type;
}
}
class ShapeCache{
public static Hashtable<Integer, Shape> hashtable = new Hashtable<>();
public static Shape getShape(Integer id){
Shape shape = hashtable.get(id);
return shape;
}
public static void addShape(){
Rectangle rectangle = new Rectangle("new rectangle");
hashtable.put(1, rectangle);
Square square = new Square("new square");
hashtable.put(2, square);
}
}
public class Test {
public static void main(String[] args){
ShapeCache.addShape();
ShapeCache.getShape(1).getType();
}
}