Golang初级系列教程-面向对象总结

Golang初级系列教程-面向对象总结

如果你还没有阅读关于这一部分的文章,请先去读读看。这篇文章主要是对前面的一系列做一个总结性的介绍,特别是对于接触过面向对象概念的人而言,强烈建议首先去阅读以下几篇文章。

面向对象三原则为:封装、继承和多态。但这些并不是面向对象独有的。Go 可以不用具体考虑面向对象的复杂特性就可以实现这些功能。必须再次强调:Go 不是面向对象语言。必须把这一点深深地记在心里,Go 的实现方式和面向对象是不同的。前面通过这样的方式来说明,只是为了容易理解和学习。

封装:控制方法和属性的可见性。Go 中关于这一点的突出特点有:

  • 有两种可见性——包内可见性(私有)和 Public
  • 如果一个字段、类型或者方法以大写字母开头,那么外部包也可见即 Public, 相反以小写字母开头,那么只有当前包可见。
  • Public 举例:MyStruct MyMethod MyField
  • Private 举例:myStruct myMethod myField
  • 可以为通过类型和函数绑定 实现定义类型的方法 func (my_type) my_func() int{}
  • 如果类型并不在当前包中定义,不能声明其方法

继承:类型获得上层类型属性和方法的能力。Go 中关于这一点的突出特点有:

  • 通过匿名字段实现继承——匿名字段从代码结构看,像是两个类型组合在一起
  • 继承的类获取所有父类的属性和方法。对于不同包的继承,只有以大写字母开头的类型、字段和方法才会被继承,同一个包内,所有内容都会被继承
  • 通过多个匿名字段可以实现多重继承 type Child struct { Father; Mother }

多态:当一种类型链接到不同实例时表现出不同的行为,这种类型就具有多态性。

  • Go 中的接口可以实现多态的概念。一个接口类型可以指向任何一个实现这个接口的类型。

Golang一种神奇的语言,让我们一起进步

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值