go语言面向对象说明
- Golang也支持面向对象编程(oop),但是和传统的面向对象有区别,并不是纯粹的面向对象语言,所以我们说Golang支持面向对象编程特性是比较准确的。
- Golang没有类(class),Go语言的结构体(struct)和其他编程语言的类(class)有相同的地位,你可以理解Golang是基于struct来实现oop特性的。
- Golang面向对象编程非常简洁,去掉了传统oop语言的继承,方法重载、构造函数和析构函数、隐藏的this指针等等。
- Golang任然有面向对象编程的继承、封装和多态的特性,只是实现的方式和其他oop语言不一样,比如继承:Golang没有extends关键字,继承通过匿名字段来实现的。
- Golang面向对象(oop)很优雅,oop本身就是语言类型系统的一部分,通过接口(interfance)关联,耦合性低,Golang中面向接口编程是非常重要的特性。