Go 中的面向对象实现
在之前使用的面向对象语言(C++、Java、C#、Ruby)中,OO(面向对象)的实现方式通常是:封装+继承+多态。
在 Go 中,通过大小写实现封装;抛弃了”继承”和”多态”,而采用”匿名组合+接口”的方式。
1 |
|
优点
- 内存结构清晰,可以直接看懂组合关系
- 在多继承情况下,如果存在相同基类函数被调用的情况,会直接编译不过,不会出现隐含错误
在之前使用的面向对象语言(C++、Java、C#、Ruby)中,OO(面向对象)的实现方式通常是:封装+继承+多态。
在 Go 中,通过大小写实现封装;抛弃了”继承”和”多态”,而采用”匿名组合+接口”的方式。
1 |
|