golang 物件導向

2021-08-20 13:16:00 字數 713 閱讀 8193

package main

//golang 物件導向

import(

. 「fmt」

)//type相當於 c/c++的 typedef拉

type myint int64

type person struct

//繼承

//匿名欄位person,相當於c/c++的繼承拉,student就擁有了person所有的屬性拉,

//其實c/c++繼承過來和golang這種組合之後的類記憶體布局一樣的哈,都是先父類的成員

//在子類的成員拉。

type student struct

//重寫,相當於c/cperson++的虛函式拉

//func (this *student)say()

//注意這裡要傳指標拉, 否則修改的還是副本拉,只有傳指標到函式內部,這樣修改的才是

//呼叫物件自身的堆記憶體位址拉, 否則函式內部訪問的則是物件的copy拉。。

//c/c++也是這樣實現的成員函式拉,他的第乙個引數永遠傳this拉。。。

func (this *person)say()

func main()

println(「hellotype myint int64」, p2)

stu1 := student,  1}

stu1.say()

golang 物件導向

method的語法如下 func r receivertype funcname parameters results 下面我們用最開始的例子用method來實現 package main import fmt math type rectangle struct type circle struc...

golang 物件導向

method的語法如下 func r receivertype funcname parameters results 下面我們用最開始的例子用method來實現 package main import fmt math type rectangle struct type circle struc...

Golang物件導向

golang中雖然沒有class,但是通過結構體struct依然支援oop 封裝 多型 繼承 使用struct封裝物件的屬性。type person struct golang同樣支援繼承,不需要extends,只需要在struct中新增父類屬性即可。type student struct gola...