單利模式以及繼承和多型

2021-08-30 13:27:43 字數 1680 閱讀 1753

一丶單利模式

1丶單利類只能有乙個例項

2丶單利類必須建立自己的唯一例項

3丶單利類必須給所有其它物件

4丶單利模式必須提供乙個全域性的訪問點

(1)惡漢式單利模式

class

mysingleton

public

static mysingleton getinstance()

}

(2)懶漢式單利模式`

class

singleton

private

static singleton getinstance()

return singleton;

}

這種設計在多執行緒時不能保證執行緒安全,因為當乙個執行緒還沒有建立完成時又進入乙個執行緒,等於new了兩次物件,所以我們對它作出如下改進:

class

singleton

//可重入函式,即執行緒安全的函式

private

static singleton getinstance()

}}return singleton;

}

二丶繼承與多型(1)繼承:繼承是重用現有類(基類base class、父類parent class、超類super class)建立新類(子類sub class、派生類derived class)的過程,派生類繼承了基類除建構函式外的所有屬性。

class

person

public

void

fun1()

}class

student

extends

person

public

void

fun1()

}

super();—>呼叫基類的建構函式

super.data—>訪問基類的資料成員

super.func();—>呼叫基類的成員方法

(3)基類的資料成員在派生類當中的訪問許可權(1表示可以,0表示不可以)

多型

(1)動多型(執行時多型)

輸出結果:

(2)靜多型(編譯時多型),方法覆蓋表現出兩種多型性,當物件引用本類例項時,為編譯時多型,否則為執行時多型。

student student =

newstudent

(" "

," ");

system.out.

println

(person.

tostring()

);//編譯時多型,執行person類的tostring()方法

system.out.

println

(student.

tostring()

);person.

fun1()

;

java基礎 單利模式 繼承 多型

餓漢式單利模式 class mysingleton public static mysingleton getinstance 懶漢式單利模式 class mysingleton1 可重入函式也叫執行緒安全函式 public static mysingleton1 getinstance retur...

Lua 繼承 多型 單利模式 物件導向

lua模擬物件導向程式設計中得繼承 多型,這裡也同時演示設計模式中得單利模式,類的實現都是通過lua中table,這個table太強大了,又可以當集合 陣列 宣告,這裡宣告了類名還有屬性,並且給出了屬性的初始值。class2 class2.a class2 aaa class2.b class2 b...

Spring bean的單利模式和非單利模式

spring bean預設情況下所有bean是單一的,即單利模式。中表示 scope singleton singleton表示spring容器中只會建立乙個叫做mybean的bean物件。所有的對該bean的請求都由該物件來處理,這個bean物件就是共享的,就是說這個bean是非執行緒安全的。既然...