聊聊 Go 语言中的面向对象编程
我们知道,在 Go 语言中没有类(Class)的概念,但这并不意味着 Go 语言不支持面向对象编程,毕竟面向对象只是一种编程思想。
让我们回忆一下面向对象的三大基本特征:
- 封装:隐藏对象的属性和实现细节,仅对外提供公共访问方式
- 继承:使得子类具有父类的属性和方法或者重新定义、追加属性和方法等
- 多态:不同对象中同种行为的不同实现方式
我们一起来看看 Go 语言是如何在没有类(Class)的情况下实现这三大特征的。
封装
「类」
在 Go 语言中可以使用结构体(Structs)对属性进行封装,结构体就像是类的一种简化形式。
例如,我们要定义一个矩形,每个矩形都有长和宽,我们可以这样进行封装:
type Rectangle struct {
Length int
Width int
}
相关文章