一.面向对象和面向过程

  • 面向过程编程代码只适用于当前情况,而面向对象编程更注重重用,同一套代码可以使用多样的情况
  • 面向过程编程(OPP)就是详细的按照顺序的把整个过程实现
    • 例如:学生从家里去上学需要出门—>找到OFO—>扫描开锁—>上车—>直行—>左拐—>找到”粥饼面”—>停车—>上锁—>开门—> 找到座位—>点山东煎饼和四川火锅—>上菜—>吃饭—>现金付钱—>出门—>找到OFO …..
  • 面向对象编程(OOP)一切皆对象,对象有自己的行为和特征,程序编写过程中把数据和业务进行封装,具有相同类型内容进行继承,同样代码实现多样效果等,实现高可用,高重用的程序.传统面向对象三大基本特征:封装,继承,多态

    • 例如:出门后步行或公交或开车或任意品牌共享单车只要能到吃饭的地方就行,吃饭的店任意能填饱肚子就可以,吃饭时什么菜都可以选不是只能山东煎饼和四川火锅,吃完饭付钱时除了现金支付还可以微信支付,支付宝,刷卡等.吃完饭只要能回家就行.

      二.Go语言中的面向对象

  • 面向对象是一种思想,到目前为止还没有一个非常明确的定义,老程序员在不同时期对面向对象的理解是不同的.Go语言中对面向对象有着自己的理解

Although there is no universally accepted definition of object-oriented programming, for our purposes, an object is simply a value or variable that has methods , and a method is a function assiociated with a particular type.

  • 通过上面解释看出了Go语言开发者认为:面向对象就是特定类型(结构体)有这自己的方法,利用这个方法完成面向对象编程,并没有提封装、继承、多态.所有Go语言进行面向对象编程时,重点在于灵活使用方法.Go语言通过这样的设计降低了语言学习的压力.
  • Go语言有着自己对面向对象的理解,他也有着自己的封装、继承、多态