zoukankan      html  css  js  c++  java
  • Java_多例设计模式

    3.6、多例设计模式(理解)

             单例设计模式只留有一个类的一个实例化对象,而多例设计模式,会定义出多个对象,例如:定义一个表示星期X的类,这个类的对象只有7个取值,定义一个表示性别的类,只有2个取值,定义一个表示颜色基色的操作类,颜色只有三个:红、绿、蓝,这种情况下,这样的类就不应该由用户无限制的去创造实例化对象,应该只使用有限的几个,这个就属于多例设计,但不管是单例设计还是多例设计,有一个核心不可动摇 —— 构造方法私有化。

    class Sex {

             private static final Sex MALE = new Sex("") ;

             private static final Sex FEMALE = new Sex("") ;

             private String title ;

             private Sex(String title) {       // 构造方法私有化

                       this.title = title ;

             }

             public static Sex getInstance(String msg) {

                       switch(msg) {

                                case "male" :

                                         return MALE ;

                                case "female" :

                                         return FEMALE ;

                                default :

                                         return null ;

                       }

             }

             public String getTitle() {

                       return this.title ;

             }

    }

    public class Test {

             public static void main(String args[]) {

                       Sex male = Sex.getInstance("male") ;

                       System.out.println(male.getTitle()) ;

             }

    }

             构造方法的封装是实现所有操作的基础,但是在我们所编写的代码过程之中,首先考虑的不是构造方法的封装。

  • 相关阅读:
    【转】PHP foreach 小结
    【转】div,p,span,ul,li,dl,dt,dd,a,img,h,strong,em用法
    【转】网页制作中的CSS+DIV:dl,dt,dd分别表示什么意思啊?请说明啊,谢谢有什么功能?
    【转】[教程] CSS入门3:如何插入CSS样式
    PHP输出多个空格
    【转】浅谈HTTP中Get与Post的区别
    HDOJ 2433 Counter Strike 逆序对 线段树
    hdu 4193 Nonnegative Partial Sums 单调队列
    vijos 1750 建房子 单调队列
    poj 2155 Matrix 二维树状数组
  • 原文地址:https://www.cnblogs.com/guwenren/p/3016533.html
Copyright © 2011-2022 走看看