首页 > 其他 > 详细

单例模式

时间:2019-09-02 00:47:31      阅读:91      评论:0      收藏:0      [点我收藏+]

单例:希望某个类只存在一个使用的对象,而不管有多少个调用者在使用它,就是单例的概念。

package base

object Singleton extends App {
val aloneC1 = AloneObj.getAloneCInstance
val aloneC2 = AloneObj.getAloneCInstance
aloneC1.addOne
aloneC2.addOne
println(aloneC1.getPrice, aloneC2.getPrice)
}

object AloneObj {
private var aloneC: AloneC = null

def getAloneCInstance: AloneC = {

// 第一次掉用时创建实例
if (this.aloneC == null) this.aloneC = new AloneC()

this.aloneC

}

}

// 需要单例的类
class AloneC {
private var price = 0.0

def addOne = {
price += 1
}

def add(num: Double): Unit = {
price += num
}

def getPrice = price
}
1
package base
2
?
3
object Singleton extends App {
4
val aloneC1 = AloneObj.getAloneCInstance
5
val aloneC2 = AloneObj.getAloneCInstance
6
aloneC1.addOne
7
aloneC2.addOne
8
println(aloneC1.getPrice, aloneC2.getPrice)
9
}
10
?
11
object AloneObj {
12
private var aloneC: AloneC = null
13
?
14
def getAloneCInstance: AloneC = {
15
?
16
// 第一次掉用时创建实例
17
if (this.aloneC == null) this.aloneC = new AloneC()
18
?
19
this.aloneC
20
}
21
?
22
}
23
?
24
// 需要单例的类
25
class AloneC {
26
private var price = 0.0
27
?
28
def addOne = {
29
price += 1
30
}
31
?
32
def add(num: Double): Unit = {
33
price += num
34
}
35
?
36
def getPrice = price
37
}

单例模式

原文:https://www.cnblogs.com/studyNotesSL/p/11443783.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!