Go 繼承中 的方法

2021-10-05 18:56:04 字數 863 閱讀 6353

package main

import

"fmt"

//"繼承中的方法"

func

main()

fmt.

println

(p1.name,p1.age)

p1.eat(

)//父類物件, 訪問父類的方法

//2.建立student型別

s1 := student

,school:

"北京大學"

} fmt.

println

(s1.name,s1.age,s1.school)

//(提公升字段)子類物件可以直接訪問父類的物件

s1.eat(

)//子類物件,訪問父類的方法()

s1.study()

//子類訪問自己新增的方法

s1.eat(

)//如果存在方法的重寫,子類物件訪問重寫的方法

}//1.定義乙個"父類"

type person struct

//2.定義乙個子類

type student struct

//3.方法

func

(p person)

eat(

)func

(s student)

study()

func

(s student)

eat(

)

結果:
小明 21

父類的方法,吃飯...

狗子 20 北京大學

吃炸雞,喝啤酒

子類新增方法,學習

吃炸雞,喝啤酒

Go 實現物件導向中的繼承和覆蓋方法

go中的繼承是使用結構體巢狀實現的,可以繼承父類的方法 覆蓋和其他物件導向的語言是一樣的,函式名,引數,返回型別一致,就可以覆蓋父類的方法 package main import log type people struct 定義乙個型別 func p people preping func p p...

Go 中的方法

方法的宣告和普通函式的宣告類似,只是在函式名字前面多了乙個引數。這個引數把這個方法繫結到這個引數對應的型別上。命名型別 point 與指向它們的指標 point 是唯一可以出現在接收者宣告處的型別。而且,為防止混淆,不允許本身是指標的型別進行方法宣告 type p intfunc p f 編譯錯誤 ...

ruby類繼承中的方法繼承

c class a class b a 這段程式的輸出結果是ab 結果都不陌生,把這段程式用ruby重寫 ruby class a def initialize puts a endend class b a def initialize puts b endend 這段程式的輸出是b,並非我想像中...