《Go语言四十二章经》第二十五章 面向对象

    我们总结一下前面看到的:Go 没有类,而是松耦合的类型、方法对接口的实现。

    OO 语言最重要的三个方面分别是:封装,继承和多态,在 Go 中它们是怎样表现的呢?

    和别的 OO 语言有 4 个或更多的访问层次相比,Go 把它简化为了 2 层:
    1)包范围内的:通过标识符首字母小写,对象 只在它所在的包内可见
    2)可导出的:通过标识符首字母大写,对象 对所在包以外也可见类型只拥有自己所在包中定义的方法。

    继承:

    多态:

    用接口实现,某个类型的实例可以赋给它所实现的任意接口类型的变量。类型和接口是松耦合的,并且多重继承可以通过实现多个接口实现。Go 接口不是 Java 和 C# 接口的变体,而且:接口间是不相关的,并且是大规模编程和可适应的演进型设计的关键。

    25.2 多重继承