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语言中没有继承,但是可以依靠组合来模拟继承和多态。
但是,这样模拟出来的继承是有局限的,也就是说:在需要多态的时候,需要小心。
有疑问加站长微信联系(非本文作者)