标签:调用 私有化 gets 开发人员 软件设计 对象 sys 工厂 nbsp
相关代码:
定义一个接口:
package zdbDesignPattern.factory; public interface Sharp { //定义一个形状接口,并有三个实现类 //相应的网址:http://www.runoob.com/design-pattern/factory-pattern.html public void draw(); }
定义三个实现类:
package zdbDesignPattern.factory; public class Circle implements Sharp { @Override public void draw() { System.out.println("circle"); } } package zdbDesignPattern.factory; public class Rectangle implements Sharp { @Override public void draw() { System.out.println("Rectangle"); } } package zdbDesignPattern.factory; public class Square implements Sharp { @Override public void draw() { System.out.println("square"); } }
创建一个工厂
package zdbDesignPattern.factory; public class SharpFactory { //使用getSharp方法,可以获取形状类型的对象 public Sharp getSharp(String sharp){ if(sharp==null){ return null; }else if(sharp.equals("SQUARE")){ return new Square(); }else if(sharp.equals("RECTANGLE")){ return new Rectangle(); }else if(sharp.equals("CIRCLE")){ return new Circle(); } return null; } }
使用该工厂,通过传递该类的信息获取该类的对象:
package zdbDesignPattern.factory; public class FactoryPatternDemo { /** * @param args */ public static void main(String[] args){ //创建工厂,利用工厂中的方法得到相应的对象 SharpFactory sharpFactory = new SharpFactory(); //获取square对象,并调用他的方法 Sharp sharp1 = sharpFactory.getSharp("SQUARE"); sharp1.draw(); //获取rectangle对象,并调用他的方法 Sharp sharp2 = sharpFactory.getSharp("RECTANGLE"); sharp2.draw(); //获取circle对象,并调用他的方法 Sharp sharp3 = sharpFactory.getSharp("CIRCLE"); sharp3.draw(); } }
创建一个类:
package zdbDesignPattern.singleton; public class SingleObject { //创建一个SingleObject对象 private static SingleObject instance = new SingleObject(); //将构造函数私有化,这样该类就不会被私有化 private SingleObject(){}; //获取唯一可用的对象 public static SingleObject getInstace(){ return instance; } public void show(){ System.out.println("北京 我来了!"); } }
从singleObject中获取唯一的对象
package zdbDesignPattern.singleton; public class SinglePatternDemo { /** * 从SingleObject中获取唯一的对象 */ public static void main(String[] args) { //获取唯一的对象,并调用其方法 SingleObject object = SingleObject.getInstace(); object.show(); } }
标签:调用 私有化 gets 开发人员 软件设计 对象 sys 工厂 nbsp
原文地址:http://www.cnblogs.com/zdb292034/p/6104906.html