上午单位的C++大佬给我们分享了一些编程思想,开始介绍了面向对象和面向过程

面向过程是什么,就是对事件的过程进行编程,我们已知事件的发展过程,我们根据过程发展的节点去编程。整个编程是过程驱动,开始,然后输入数据,然后处理,最后结束,或者反复循环这种。

C程序就是面向过程的,一次只做一件事情,比如空调,或者一些内嵌小程序的东西就是C程序,通俗易懂的例子就是计算器,输入数字,运算符号,再输入数字,再等于,最后结果,如果中途输错就归零然后重新来。

后来算法越来越复杂,指数型的增长,为了解决复杂算法编程,所以出现面向对象编程,面向对象是事件驱动的。

就想手机一样,手机中很多不同的模块,每个用户都不一样,每天用手机的过程也不一样,不能像计算器那样用。也可以这样理解,算法复杂度越来越高,代码越来越长,我们就将其写成封装起来,然后又很多这种封装的程序,再写需要的程序时,有选择的调用这些封装起来的程序。是面向一个个对象的。

知乎上有一个例子说区分这两个,取得例子是狗摇尾巴,很形象。

面向过程就是摇(狗,尾巴);面向对象就是狗.摇尾巴()。

python就是典型的面向对象的编程语言。想到一个笑话,说每年情人节C都是自己过,因为他没有对象23333

面向对象的编程语言有类,继承等的概念,类就是将事件做成方法,这一类型的模板。之前实习的时候,领导用python写过一个包,现在回头想想,整个概念就清晰开朗起来。将我的对象抽象出来,封装出来。

后来大佬谈到设计程序应该有空间和时间概念,空间就是存储空间,时间概念就是对事件过程的把握,先做什么再做什么。主要是要建立有效的思维模式。理解事情的驱动机制。

每次在学习的过程都是训练思维的过程,有位高中老师说过,从小学一直到高中念这些书,并不是学这些知识,学的是学习的能力,一种思维方法,这样想也解释了为什么优秀的一直很优秀。然后这个又可以归结为方法论上,解决事情的思维上,上升到哲学,这个就不谈了,因为最终都是会回归到哲学上。

通俗理解面向对象和面向过程+编程思想相关推荐

  1. 面向对象和面向过程~~编程思想

    对于编程思想来说,大意上可分为俩种,一种为面向对象,一种为面向过程. 面向过程,只追求运算逻辑.耦合度高(耦合度是指事物关联程度的紧密度).扩展力差 而面向对象是追求的是模块之间的互相协作,耦合度低, ...

  2. 简单理解面向对象和面向过程

    简单理解面向对象和面向过程 一. 面向过程和面向对象的区别 面向过程:面向过程就是分析解决问题所需要的步骤,然后 用函数把这些步骤一步一步实现,使用时一个一个依次调用即可: 面向对象语言:指用于描述的 ...

  3. 深入理解面向对象和面向过程

    面向对象基本概念: 面向对象 ( Object Oriented ) 是将现实问题构建关系,然后抽象成 类 ( class ),给类定义属性和方法后,再将类实例化成 实例 ( instance ) , ...

  4. 面向对象与面向过程编程

    从语言角度来讲: C是面向过程编程: C++一半是面向过程编程,一半是面向对象编程: Java是面向对象编程. 一.什么是面向对象编程与面向过程编程? 面向过程(Procedure Oriented ...

  5. 面向对象,面向过程编程

    很多时候,我们都是用面向对象语言进行面向过程编码.     1. 滥用 getter.setter 方法. 滥用getter,setter方法很容易造成违反封装特性.数据没有访问权限控制,任何代码都可 ...

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

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

  7. 编程思想:面向对象和面向过程

    何谓面向对象?何谓面向过程?对于这编程界的两大思想,一直贯穿在我们学习和工作当中.我们知道面向过程和面向对象,但要让我们讲出来个所以然,又感觉是不知从何说起,最后可能也只会说出一句就是那样啦,你知道啦 ...

  8. 编程思想:面向对象和面向过程的区别与联系

    前言 何谓面向对象?何谓面向过程?对于这编程界的两大思想,一直贯穿在我们学习和工作当中.我们知道面向过程和面向对象,但要让我们讲出来个所以然,又感觉是不知从何说起.而这种茫然,其实就是对这两大编程思想 ...

  9. 面向对象和面向过程:两种程序设计思想的基础介绍和对比

    一.面向过程程序设计 面向过程:程序=算法+数据结构 面向过程的核心理念是"步骤分解",即把需要解决的问题分成一个个步骤,并用不同函数来实现它们.设计思维"自顶向下,逐步 ...

最新文章

  1. Funtion:POPUP_TO_DECIDE_LIST
  2. 使用numpy生成one_hot
  3. 为应用“瘦身”!给 Android 应用开发者的十个建议(转)
  4. 概率论-4.2中心极限定理(待补充)
  5. vm服务器虚拟化如何漂移,解决虚拟机漂移问题的自动化网络管理
  6. Qt5.9生成dll详细步骤
  7. [转载]Oracle ltrim() 函数用法
  8. 黑马程序员之在Mac系统上安装Tomcat
  9. 谷歌大脑科学家 Caffe缔造者 贾扬清 微信讲座
  10. 易筋SpringBoot 2.2 | 第三十二篇:Redis Docker入门
  11. 视频解码测试软件,视频解码:视频解码性能测试_平板电脑评测-中关村在线
  12. android MTK手机adb remount 失败,如何remont成功?
  13. 【Dam Dadi Doo】MMD镜头+动作打包下载.zip
  14. 怎么更改计算机网上邻居,如何更换登入网上邻居帐号
  15. html+js+Jquery
  16. 如何将Word压缩到最小,这个方法你该知道
  17. antlr 安装使用
  18. ACS711KLCTR-12AB-T霍尔效应线性电流传感器Allegro ACS711
  19. 面对流量型DDOS攻击不知所措?这几种DDOS防护手段你需要知道
  20. python里面Nose和pytest的区别

热门文章

  1. 发票识别100%智能
  2. 科罗拉多大学波尔得分校计算机科学,科罗拉多大学波尔得分校副教授Dan Zhang:基于线性规划的近似动态规划方面的一些最新成果...
  3. 深入理解JVM字节码(一)
  4. [从头读历史] 第255节 孔子和他的《春秋》 [BC657至BC598]
  5. [ahk]解析大智慧自选股blk文件中的股票代码
  6. 数据中心机房基础建设,等级、机柜、机架设定等相关内容都在这里!
  7. 不相关、独立、正交的区别与联系
  8. 深入浅出kafka原理-5-kafka同步副本ISR高低水位HW
  9. CMMI:OPM--对模型做DMAIC
  10. 项目中项目评估概述及原则