1、区别与联系

面向过程(C和C++): 关心的是“怎么按步骤实现?”   并将步骤对应成方法,一步一步,最终完成。 这个适合简单任务(通俗讲:就是不需要过多协作的情况下)。

如:如何开车?  (单人就可以做)     步骤:1. 发动车点火 2. 挂挡 3.踩油门 4. 走  。 不去关心车是怎么造出来的!

面向对象(java):  关心的是 “怎么设计这个事物?”   此时需要多人协作 (单人是无法完成的),是个系统工程。

如:如何造车?(需要多人协作)    想到一辆车由  1. 轮胎  2. 发动机  3. 车壳  4. 座椅  5. 挡风玻璃 等组成。为了协作,可以找轮胎厂完成造轮胎的步骤,发动机厂完成造发动机的步骤。而且各个厂可以同时开工,最终组装,大大提高了效率。

【联系】具体到一个轮胎的制造,在流水线上还是有步骤的,这就是面向过程的思想。

2、总结

(1).面向对象具有三大特征:封装性、继承性和多态性,而面向过程没有继承性和多态性,并且面向过程的封装只是封装功能,而面向对象可以封装数据和功能。所以面向对象优势更明显。

  (2).一个经典的比喻:面向对象是盖浇饭、面向过程是蛋炒饭。盖浇饭的好处就是“菜”、“饭”分离,从而提高了制作盖浇饭的灵活性。饭不满意就换饭,菜不满意换菜。用软件工程的专业术语就是“可维护性”比较好,“饭” 和“菜”的耦合度比较低。

【扩展】对象发展简史

为了便于协作和管理,我们“将相关数据和相关方法封装到一个独立的实体”,于是“对象”产生了。 比如,我们的一个学生对象:

                 有属性(静态特征):年龄:18,姓名:高淇,学号:1234

                 也可以有方法(动态行为):学习,吃饭,考试

     1.对象说白了也是一种数据结构(对数据的管理模式),将数据和数据的行为放到了一起。

   2.在内存上,对象就是一个内存块,存放了相关的数据集合!

   3.对象的本质就一种数据的组织方式!

链接:http://www.sxt.cn/Java_jQuery_in_action/Object_evolutionary_history.html

转载于:https://www.cnblogs.com/ID-qingxin/p/10009317.html

[18/11/23]面向对象和面向过程相关推荐

  1. 【Java开发语言 03】第三章 面向对象编程(面向对象与面向过程+类和对象+类成员一:属性+类成员二:方法+对象的创建和使用+封装和隐藏+构造器+关键字this,package,import)

    面向对象编程 1 面向对象与面向过程 1.1 java类及类的成员 2 java语言的基本元素:类和对象 2.1 类的语法格式 2.2 创建Java自定义类 2.3 对象的创建及使用 3 类的成员之一 ...

  2. python中面向对象的缺点_python中的面向对象和面向过程

    一.面向对象和面向过程 一.什么是面向过程 核心是过程二字:面向过程是一种流水线的工作流程,是先做什么在做什么 二.什么是面向对象 核心 是对象二字:是一种编程思想,上帝思维,一切皆对象,编程中负责调 ...

  3. python属于面向对象的还是面向过程的呀-python中的面向对象和面向过程

    一.面向对象和面向过程 一.什么是面向过程 核心是过程二字:面向过程是一种流水线的工作流程,是先做什么在做什么 二.什么是面向对象 核心 是对象二字:是一种编程思想,上帝思维,一切皆对象,编程中负责调 ...

  4. 面向对象与面向过程理解

    本文源地址: http://blog.csdn.net/ithzhang/article/details/52983530 http://blog.csdn.net/ithzhang/article/ ...

  5. 高阶Day1:面向对象,面向过程,类和对象的属性和方法创建

    高阶Day1:面向对象,面向过程,类和对象的属性和方法创建 高级编程学习4个内容: 面向对象 MySQL数据库 网络编程 并发编程 面向过程(POP)与面向对象(OOP): 类和对象: 类名的定义: ...

  6. python面向过程还是面向对象_python是面向对象还是面向过程?

    python是面向对象的,第一个公开发行版发行于1991年,Python语法简洁而清晰,具有丰富和强大的类库. Python是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum ...

  7. python是一门面向过程的语言_python是面向对象还是面向过程?

    python是面向对象的,第一个公开发行版发行于1991年,Python语法简洁而清晰,具有丰富和强大的类库. Python是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum ...

  8. 面向对象与面向过程区别

    面向对象:用线性的思维.与面向过程相辅相成.在软件开发过程中,宏观上,用面向对象来把握事物间复杂的关系,分析系统.微观上,仍然使用面向过程. "面向过程"是一种是事件为中心的编程思 ...

  9. 面向对象编程(一)——面向对象和面向过程

    面向对象(Object Oriented),通过对象来封装我们的数据.(组织代码,封装数据) 面向对象和面向过程: 面向过程:procedure oriented programming,POP 面向 ...

最新文章

  1. 2021年浅谈多任务学习
  2. WebService教程和分析
  3. java学习笔记(一) ----java下常用的包功能
  4. Ajax异步请求-简单模版
  5. include/caffe/common.cuh(9): error: function atomicAdd(double *, double) has already been defined
  6. Django入门(二) 理解Django生命流程周期
  7. 路由器和交换机分别起什么作用,它们之间有什么区别?
  8. HBase数据存储格式
  9. 如何将maven项目打包成可执行的jar
  10. linux ftp远程更新,用ftp远程安装linux
  11. C#通用验证类:邮箱,电话,手机,数字,英文,日期,身份证,邮编,网址,IP
  12. 可视化图布局算法简介
  13. 机场也应该取个好听的名
  14. CISCO路由器的备份与还原(2)
  15. jenkins教程菜鸟_Jenkins教程:在Windows平台安装Jenkins
  16. python中的f函数_05-python中函数的使用
  17. Win8+CentOS7双系统安装
  18. OneNote 深度评测:使用资源、插件、模版
  19. 【模拟电子技术基础】本章讨论问题答案2
  20. 2022年最受欢迎的十大狗狗品种排行榜:拉布拉多猎犬第一 | 美通社头条

热门文章

  1. 2019.01.24 NOIP训练 旅行(轮廓线dp)
  2. 苹果机的时间格式转换为时间搓
  3. webService(简单小demo)
  4. java APIs for database -------- JDBC (1)connection
  5. leetcode Add Digits
  6. $_FILES['userfile']['error'] 错误码
  7. 从零开始学C++之运算符重载(三):完善String类([]、 +、 += 运算符重载)、和运算符重载...
  8. YUI3学习笔记 ( 8 )
  9. java分层窗格_java 简洁的分层实现
  10. 学java的就业方向_学习Java的就业前景怎么样