程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> 單例模式的兩種形式(惡漢式,懶漢式)

單例模式的兩種形式(惡漢式,懶漢式)

編輯:關於C++

單例模式的特點:解決了一個類在內存的唯一性,這個類的對象只有一個。

寫單例模式的步驟:

1. 私有修飾構造方法

2. 在本類的成員位置, new 自己類的對象

3. 提供一個靜態方法,返回本類的對象

A: 惡漢式

 

package demo01;
/**
 * 單例設計模式惡漢式
 * @author Administrator
 *
 */
public class SingleDesignModel1 {
	//私有構造方法
	private SingleDesignModel1(){
	}
	//在自己的成員變量的位置,new 自己
	private static final SingleDesignModel1 singleDesignModel1=new SingleDesignModel1();
	//提供一個靜態方法,返回一個本類對象
	public static SingleDesignModel1 getInstance(){
		return singleDesignModel1;
	}
}

B:懶漢式

 

 

package demo01;
/**
 * 單例模式的懶漢式
 * @author Administrator
 *
 */
public class SingleDesignModel2 {
	private static SingleDesignModel2 singleDesignModel2=null;
	private SingleDesignModel2(){
		
	}
	public static SingleDesignModel2 getInstance(){
		if(singleDesignModel2==null){
			singleDesignModel2=new SingleDesignModel2();
		}
		return singleDesignModel2;
	}
}

單例模式的運行原理:

 

\

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved