回到编程语言上,Go 语言作为一种通用的编程语言,和其他主流的编程语言一样支持封装,Go 语言关于封装的实现主要包括两部分:
数据结构的封装
行为方法的控制
其中数据结构的封装主要是使用结构体关键字 struct...实现,而行为方法的控制是用首字母大小写区分是否对外可见.
> 关于 Go 如何实现封装的细节,可以参考前一篇文章: go 学习笔记之详细说一说封装是怎么回事
继承是怎么回事
说完封装,接着说一下继承是怎么回事...上述故事中,C选择的是全盘肯定,A和B送来的猫和狗都是宠物,没理由拒绝任何一个,于是C选择全盘肯定,当然至于以后是否后悔只有 C自己心里清楚....Go 语言和其他主流的面向对象语言有所不同,Go 并不支持继承特性,因而也没有单继承,多继承,重写方法等复杂概念.
那 Go 是如何描述这种普通封装和抽象封装之间的关系呢?...new(Cat)
c.p = p
// 老鼠天敌喵喵喵
c.Catch()
// 能文能武的宠物
c.p.Skill()
}
上述结果证明,Go 语言虽然不支持