设计模式之 使用静态工厂模式代替构造函数(Java)
2013-02-26 16:00
369 查看
设有一个
package com.stephen.javatest02;
public class Complex {
private double re;
private double im;
private Complex(double re, double im) //注意这里用private, 不让使用者直接来new生成
{
this.re = re;
this.im = im;
}
public void printRe()
{
System.out.println("re=" + this.re );
}
public void printIm()
{
System.out.println("im=" + this.im );
}
public static Complex CreateByReIm(double re, double im)//同样参数, 如果使用构造函数来构造容易混
{
return new Complex(re, im);
}
public static Complex CreateByPolar(double r, double theta)//同样参数, 如果使用构造函数来构造容易混
{
return new Complex(r*Math.cos(theta), r*Math.sin(theta));
}
}
调用实例:
Complex mycom = Complex.CreateByReIm(3.1, 5.2);
mycom.printRe();
mycom.printIm();
Complex mycom2 = Complex.CreateByPolar(6.7, 8.9);
mycom2.printRe();
mycom2.printIm();
package com.stephen.javatest02;
public class Complex {
private double re;
private double im;
private Complex(double re, double im) //注意这里用private, 不让使用者直接来new生成
{
this.re = re;
this.im = im;
}
public void printRe()
{
System.out.println("re=" + this.re );
}
public void printIm()
{
System.out.println("im=" + this.im );
}
public static Complex CreateByReIm(double re, double im)//同样参数, 如果使用构造函数来构造容易混
{
return new Complex(re, im);
}
public static Complex CreateByPolar(double r, double theta)//同样参数, 如果使用构造函数来构造容易混
{
return new Complex(r*Math.cos(theta), r*Math.sin(theta));
}
}
调用实例:
Complex mycom = Complex.CreateByReIm(3.1, 5.2);
mycom.printRe();
mycom.printIm();
Complex mycom2 = Complex.CreateByPolar(6.7, 8.9);
mycom2.printRe();
mycom2.printIm();
相关文章推荐
- Java技术_每天掌握一种设计模式(004)_使用场景及简单实例(创建型:抽象工厂)
- 设计模式_Java_简单工厂模式概述和使用
- 深入解析Java的设计模式编程中单例模式的使用
- GOF23设计模式之观察者模式的理解与实现2(使用java自带的观察者类和接口)
- 设计模式 - 装饰者模式(Decorator Pattern) Java的IO类 使用方法
- Java使用设计模式中的代理模式构建项目的实例展示
- 使用模板方法模式实现可扩展性设计(Java示例)
- Java基础06:Static;单例设计模式;对象初始化;构造函数;
- 实例解析Java设计模式编程中的适配器模式使用
- 使用迭代器模式来进行Java的设计模式编程
- Java 23种设计模式使用场景(含Demo讲解分析,便于理解)
- Java 接口应用案例 (策略设计模式使用)
- 【设计模式】装饰器模式与Java Servlet、Spring Session在其中的使用
- 做项目中自己使用的java设计模式-单例设计模式
- 举例说明Java设计模式编程中ISP接口隔离原则的使用
- java中的设计模式及类部类的定义与使用
- java设计模式之模板模式以及钩子方法使用
- java8实战七:使用Lambda重构面向对象的设计模式
- JavaServer Faces框架使用的设计模式
- JavaServer Faces框架使用的设计模式