golang学习的点点滴滴:利用组合实现继承

golang学习的点点滴滴:利用组合实现继承,第1张

概述package main import "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 
packagemainimport"fmt"typeBasestruct{	namestring}func(b*Base)Setname(namestring){	b.name=name}func(b*Base)Getname()string{	returnb.name}//组合,实现继承typeChildstruct{	baseBase//这里保存的是Base类型}//重写Getname方法func(c*Child)Getname()string{	c.base.Setname("modify...")	returnc.base.Getname()}//实现继承,但需要外部提供一个Base的实例typeChild2struct{	base*Base//这里是指针}func(c*Child2)Getname()string{	c.base.Setname("canuser?")	returnc.base.Getname()}funcmain(){	c:=new(Child)	c.base.Setname("world")	fmt.Println(c.Getname())	c2:=new(Child2)	c2.base=new(Base)//因为Child2里面的Base是指针类型,所以必须提供一个Base的实例	fmt.Println(c2.Getname())}
总结

以上是内存溢出为你收集整理的golang学习的点点滴滴利用组合实现继承全部内容,希望文章能够帮你解决golang学习的点点滴滴:利用组合实现继承所遇到的程序开发问题。

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

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

原文地址: https://outofmemory.cn/langs/1289893.html

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

发表评论

登录后才能评论

评论列表(0条)

保存