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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章