golang繼承,和多態

package main

type ST struct{
}

func (s *ST)Show(){
    println("ST")
}

func (s *ST)Show2(){
    println("ST:Show2()")
}

type ST2 struct{
    ST
    I int
}

func (s *ST2)Show(){
    println("ST2")
}

func main() {
    s := ST2{I:5}
    s.Show()
    s.Show2()
    println(s.I)
}

golang語言中沒有繼承,但是可以依靠組合來模擬繼承和多態。

但是,這樣模擬出來的繼承是有侷限的,也就是說:在需要多態的時候,需要小心。

發佈了53 篇原創文章 · 獲贊 6 · 訪問量 25萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章