物件導向之方法1

2022-08-27 11:54:07 字數 1370 閱讀 9680

在某些情況下,我們要需要宣告(定義)方法。比如person 結構體:除了有一些欄位外(年齡,姓名...),person結構體還有一些行為比如:可以說話、跑步...,通過學習,還可以做算術題。這時就要用方法才能完成。

golang中的方法是作用在指定的資料型別上的(即:和指定的資料型別繫結),因此自定義型別,都可以有方法,而不僅僅是struct

方法的宣告和呼叫:

type a struct

func (a a) test()

對上面的語法的說明:

1)func (a a) test() {} 表示 a結構體有乙個方法,方法名為test

2)(a a) 體現 test 方法是和 a型別繫結的

舉例說明:

type person struct

//給person型別繫結乙個方法

func (p person) test()

type dog struct ... p 表示那個 person 變數呼叫,這個p 就是它的副本。和函式傳參非常相似。

4)p 這個名字,由程式設計師指定,不是固定的。比如修改成 person 也可以。

type person struct

//給person型別繫結乙個方法

func (p person) test()

func main()

func (p person) speak()

func main()

2)給person結構體新增jisuan 方法,可以計算從 1+..+1000的結果

案例:type person struct

func (p person) jisuan()

fmt.println(p.name, "計算的結果是=", res)

}func main()

3)給person結構體新增jisuan2方法,該方法可以接收乙個數n,計算從1+..+n的結果

案例:type person struct

func (p person) jisuan2(n int)

fmt.println(p.name, "計算的結果是=", res)

}func main()

4)給person結構體新增getsum方法,可以計算兩個數的和,並返回結果。

案例:type person struct

func (p person) getsum(n1 int, n2 int) int

func main()

5)方法的呼叫

p.speak()

p.jisuan()

p.jisuan2(20)

res := p.getsum(10,20)

fmt.println("res=", res)

物件導向之構造方法

構造方法 主要用來給物件的資料進行初始化 構造方法格式 a 構造方法格式 a 方法名與類名相同 b 沒有返回值型別,連void都沒有 c 沒有具體的返回值 案例 十一 package com.it 08 構造方法 給物件的資料進行初始化 格式 方法名和類名相同 沒有返回值型別,連void都不能寫 沒...

Python物件導向之方法

任務 給定一段 請修改其中部分 使 可以成功執行。請在下面的begin end之間按照注釋中給出的提示編寫正確的 begin class kls def init self,data self.data data staticmethod defcheckind return ind on defd...

物件導向 1

物件名列印 類名 位址值 1 從磁碟讀取class檔案,載入進方法區的class檔案區 2 將class檔案靜態的屬性和行為的載入進靜態區 3 將class檔案中私有的行為載入進方法區 4 在堆中持有方法的引用 5 讀取class檔案中的成員字段,並初始化 6 在堆中持有方法的引用 7 將這個位址賦...