对于面向对象编程的支持Go语言设计得非常简洁而优雅。因为,Go语言并没有沿袭传统
面向对象编程中的诸多概念,比如继承(不支持继承,尽管匿名字段的内存布局和行为类似
继承,但它并不是继承)、虚函数、构造函数和析构函数、隐藏的this指针等。
尽管Go语言中没有封装、继承、多态这些概念,但同样通过别的方式实现这些特性:
实现方法 | 解释(看下图) | |
---|---|---|
封装 | 通过方法实现 | 只需知道怎么用,无需知道里面是什么 |
继承 | 通过匿名字段实现 | 在原基础上改进 |
多态 | 通过接口实现 | 同一个东西,多种用法 |