什么是面向对象?什么是面向过程?他们有什么区别?他们的优缺点是什么?什么是类?什么是对象?类和对象又有什么区别?

1.什么是面向对象?

面向对象是把整个需求按照特点、功能划分,将这些存在共性的部分封装成对象,创建了对象不是为了完成某一个步骤,而是描述某个事物在解决问题的步骤中的行为。(有点抽象)

2.什么是面向过程?

面向过程面向过程就是分析出实现需求所需要的步骤,通过函数一步一步实现这些步骤,接着依次调用即可(通俗来讲就是一步接着一步)

3.他们有什么区别?

举个例子,一群学生去饭堂打饭(吃是最好理解的了)

1)面向过程

  • 所有的同学排成一排队。
  • A去打米饭。
  • 打完米饭去打荤类的菜。
  • 打完荤类的菜打素菜。
  • 打完素菜去打汤。
  • 吃完。

2)面向对象

面向对象就不一样了,经过观察我们可以看到,其实在上面的流程中存在很多共性的地方,所以我们将这些共性部分全集中起来,做成一个通用的结构

  • 打米饭排成一条队,就打米饭
  • 打荤类的菜排成一条队,就打荤类的菜
  • 打素菜的菜排成一条队,就打素类的菜
  • 打汤排成一条队,就打汤
  • 打完自己去选座位吃饭

4.优缺点

1)面向过程

优点:性能上它是优于面向对象的,因为类在调用的时候需要实例化,开销过大。
缺点:不易维护、复用、扩展
用途:单片机、嵌入式开发、Linux/Unix等对性能要求较高的地方

2)面向对象

优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护
缺点:性能比面向过程低
低耦合,简单的理解就是说,模块与模块之间尽可能的独立,两者之间的关系尽可能简单,尽量使其独立的完成成一些子功能,这避免了牵一发而动全身的问题。这一部分我们会在面向对象学习结束后进行系统的整理和总结。(也就是打饭的打饭,打菜的打菜)。

5.什么是类,什么是对象?

1)类

类是一组相关的属性和行为的集合。是一个抽象的概念。

2)对象

对象是该类事物的具体表现形式。具体存在的个体。
成员变量事物的属性
成员方法事物的行为

6.类和对象有什么区别?

1)类就是对一些具有共性特征,并且行为相似的个体的描述。

按上面的例子就是打饭的同学归为一类,打菜的同学归为一类。有相似的行为。

2)对象就是把所有的物品看成对象。

比如打饭的A同学有自己的名字,升高,体重,兴趣爱好。

posted @ 2020-10-14 18:02  年轻程序员博客  阅读(427)  评论(0)    收藏  举报