golang 继承

golang 继承,第1张

概述package mainimport "fmt"type Base struct { Name string}func (b *Base) SetName(name string) { b.Name = name}func (b *Base) GetName() string { return b.Name}// 组合,实现继承type Chil
package mainimport "fmt"type Base struct {    name string}func (b *Base) Setname(name string) {    b.name = name}func (b *Base) Getname() string {    return b.name}// 组合,实现继承type Child struct {    base Base // 这里保存的是Base类型}// 重写Getname方法func (c *Child) Getname() string {    c.base.Setname("modify...")    return c.base.Getname()}// 实现继承,但需要外部提供一个Base的实例type Child2 struct {    base *Base // 这里是指针}//type Child3 struct {    Base}type Child4 struct {    *Base}func main() {    c := new(Child)    c.base.Setname("world")    fmt.Println(c.Getname())    c2 := new(Child2)    c2.base = new(Base) // 因为Child2里面的Base是指针类型,所以必须提供一个Base的实例    c2.base.Setname("ccc")    fmt.Println(c2.base.Getname())    c3 := new(Child3)    c3.Setname("1111")    fmt.Println(c3.Getname())    c4 := new(Child4)    c4.Base = new(Base)    c4.Setname("2222")    fmt.Println(c4.Getname())}
总结

以上是内存溢出为你收集整理的golang 继承全部内容,希望文章能够帮你解决golang 继承所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/langs/1272634.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存