Go語言程式演示類中的資料隱藏


在Go語言中,資料隱藏是一種阻止外部程式碼訪問或修改類成員的實踐。這是透過將類的成員指定為私有來實現的,這限制了只有類的成員方法才能訪問或修改它們。這是面向物件程式設計中的一個關鍵概念,因為它可以確保資料的完整性和類的正確執行。

語法

struct

結構體是Go程式語言中使用的一種複合資料型別,它允許您將各種型別的相關值組合在一起,例如欄位的集合或方法的集合。類似於面嚮物件語言中的類,結構體可以用來定義新的型別。例如,三維空間中的一個點、一個使用者帳戶或一個時間點,都是經常使用結構體定義的資料結構型別。結構體的另一個特性是方法,方法是與特定結構體型別相關聯的函式,可以用來對結構體中的資料執行操作。

演算法

  • 步驟 1 − 建立一個名為main的包,並宣告fmt(格式化包)包

  • 步驟 2 − 下一步是定義一個名為“MyStruct”的結構體,它具有“private_data”和“public_data”屬性。

  • 步驟 3 − 在main函式中建立MyStruct的一個例項,並呼叫其公共方法publicmethod。

  • 步驟 4 − 從main函式中呼叫公共方法來執行程式。

示例 1

在這個例子中,我們將看到如何使用結構體和方法來展示資料隱藏。該結構體有兩個欄位:private_data和public_data,此外它還包含兩個方法publicmethod和privatemethod。

package main
import "fmt"
type MyStruct struct {
   private_data int // private field
	public_data  int // public field
}
func (m *MyStruct) privatemethod() {      //private method
	fmt.Println("This is a private method")
	fmt.Println("Private data:", m.private_data)
}
func (m *MyStruct) publicmethod() {      //public method
	fmt.Println("This is a public method")
	fmt.Println("Public data:", m.public_data)
	m.privatemethod()  //call privatemethod to print the data
}
func main() {
	myStruct := MyStruct{
		private_data: 42,   //assigning data to private field
		public_data:  27,   // assigning data to public field
	}
	myStruct.publicmethod()
}

輸出

This is a public method
Public data: 27
This is a private method
Private data: 42

示例 2

在這個例子中,我們將看到如何使用介面來展示類中的資料隱藏。

package main
import "fmt"
type MyInterface interface {
   publicmethod()       //define publicmethod
}
type MyStruct struct {
   private_data int   //create private data
}
func (m *MyStruct) privatemethod() {
   fmt.Println("This is a private method")
   fmt.Println("Private data:", m.private_data)  //print private data
}
func (m *MyStruct) publicmethod() {
   fmt.Println("This is a public method")
   m.privatemethod() //call privatemethod to print the data
}
func main() {
   myStruct := MyStruct{private_data: 42} 
   var myInterface MyInterface = &myStruct
   myInterface.publicmethod()  //call public method
}

輸出

This is a public method
This is a private method
Private data: 42

結論

我們透過兩個例子執行了演示類中資料隱藏的程式。在第一個例子中,我們使用了結構體和方法,在第二個例子中,我們使用了介面以及結構體和方法。

更新於: 2023年2月1日

265 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.