go物件導向程式設計 封裝

2021-10-07 07:16:52 字數 1572 閱讀 1958

將結構體、屬性的字段設定為小寫

給結構體所在的包提供乙個工廠模式,首字母大寫,類似於乙個建構函式

提供乙個首字母大寫的set方法,用於對屬性的判斷並賦值

func

(c *student)

setscore

(score float64

)

提供乙個首字母大寫的get方法,用於獲取屬性值
func

//封裝的實現

type account struct

//構造方法

func

newaccount()

*account

}//設定使用者名稱

func

(c *account)

setuser

(user string

)error

c.user = user

return

nil}

//獲取使用者名稱

func

(c *account)

getuser()

string

//設定使用者餘額

func

(c *account)

setscore

(score float64

)error

c.score = score

return

nil}

//獲取使用者餘額

func

(c *account)

getscore()

float64

//設定使用者密碼

func

(c *account)

setpassword

(password string

)error

c.password = password

return

nil}

//獲取使用者密碼

func

(c *account)

getpassword()

string

注意引包路徑

Go 物件導向程式設計

值語義與引用語義的區別在於賦值。值型別不會改變變數值,引用型別會改變變數值。go 語言中大多數型別都是基於值語義,包括 基本型別 如byte int bool float32 float64和string 復合型別 如陣列 array 結構體 struct 和指標 pointer 等。go語言中的陣...

Python 物件導向程式設計 封裝

物件導向程式設計的三大特性 封裝將屬性和方法書寫到類的裡面的操作即為封裝 封裝可以為屬性和方法新增私有許可權 繼承子類預設繼承父類的所有屬性和方法 子類可以重寫父類的屬性和方法 多型傳入不同的物件,產生不同的結果 一.封裝 1.init 方法的作用,初始化物件 在建立乙個物件時預設被呼叫,不需要手動...

Go的物件導向程式設計

func p point distance q point float64 p point q point fmt.println distance p,q 5 function call fmt.println p.distance q 5 method call 裡那個附加的引數p,叫做方法的接...