通俗理解面向对象和面向过程+编程思想
上午单位的C++大佬给我们分享了一些编程思想,开始介绍了面向对象和面向过程
面向过程是什么,就是对事件的过程进行编程,我们已知事件的发展过程,我们根据过程发展的节点去编程。整个编程是过程驱动,开始,然后输入数据,然后处理,最后结束,或者反复循环这种。
C程序就是面向过程的,一次只做一件事情,比如空调,或者一些内嵌小程序的东西就是C程序,通俗易懂的例子就是计算器,输入数字,运算符号,再输入数字,再等于,最后结果,如果中途输错就归零然后重新来。
后来算法越来越复杂,指数型的增长,为了解决复杂算法编程,所以出现面向对象编程,面向对象是事件驱动的。
就想手机一样,手机中很多不同的模块,每个用户都不一样,每天用手机的过程也不一样,不能像计算器那样用。也可以这样理解,算法复杂度越来越高,代码越来越长,我们就将其写成封装起来,然后又很多这种封装的程序,再写需要的程序时,有选择的调用这些封装起来的程序。是面向一个个对象的。
知乎上有一个例子说区分这两个,取得例子是狗摇尾巴,很形象。
面向过程就是摇(狗,尾巴);面向对象就是狗.摇尾巴()。
python就是典型的面向对象的编程语言。想到一个笑话,说每年情人节C都是自己过,因为他没有对象23333
面向对象的编程语言有类,继承等的概念,类就是将事件做成方法,这一类型的模板。之前实习的时候,领导用python写过一个包,现在回头想想,整个概念就清晰开朗起来。将我的对象抽象出来,封装出来。
后来大佬谈到设计程序应该有空间和时间概念,空间就是存储空间,时间概念就是对事件过程的把握,先做什么再做什么。主要是要建立有效的思维模式。理解事情的驱动机制。
每次在学习的过程都是训练思维的过程,有位高中老师说过,从小学一直到高中念这些书,并不是学这些知识,学的是学习的能力,一种思维方法,这样想也解释了为什么优秀的一直很优秀。然后这个又可以归结为方法论上,解决事情的思维上,上升到哲学,这个就不谈了,因为最终都是会回归到哲学上。
通俗理解面向对象和面向过程+编程思想相关推荐
- 面向对象和面向过程~~编程思想
对于编程思想来说,大意上可分为俩种,一种为面向对象,一种为面向过程. 面向过程,只追求运算逻辑.耦合度高(耦合度是指事物关联程度的紧密度).扩展力差 而面向对象是追求的是模块之间的互相协作,耦合度低, ...
- 简单理解面向对象和面向过程
简单理解面向对象和面向过程 一. 面向过程和面向对象的区别 面向过程:面向过程就是分析解决问题所需要的步骤,然后 用函数把这些步骤一步一步实现,使用时一个一个依次调用即可: 面向对象语言:指用于描述的 ...
- 深入理解面向对象和面向过程
面向对象基本概念: 面向对象 ( Object Oriented ) 是将现实问题构建关系,然后抽象成 类 ( class ),给类定义属性和方法后,再将类实例化成 实例 ( instance ) , ...
- 面向对象与面向过程编程
从语言角度来讲: C是面向过程编程: C++一半是面向过程编程,一半是面向对象编程: Java是面向对象编程. 一.什么是面向对象编程与面向过程编程? 面向过程(Procedure Oriented ...
- 面向对象,面向过程编程
很多时候,我们都是用面向对象语言进行面向过程编码. 1. 滥用 getter.setter 方法. 滥用getter,setter方法很容易造成违反封装特性.数据没有访问权限控制,任何代码都可 ...
- 面向对象编程(一)——面向对象和面向过程
面向对象(Object Oriented),通过对象来封装我们的数据.(组织代码,封装数据) 面向对象和面向过程: 面向过程:procedure oriented programming,POP 面向 ...
- 编程思想:面向对象和面向过程
何谓面向对象?何谓面向过程?对于这编程界的两大思想,一直贯穿在我们学习和工作当中.我们知道面向过程和面向对象,但要让我们讲出来个所以然,又感觉是不知从何说起,最后可能也只会说出一句就是那样啦,你知道啦 ...
- 编程思想:面向对象和面向过程的区别与联系
前言 何谓面向对象?何谓面向过程?对于这编程界的两大思想,一直贯穿在我们学习和工作当中.我们知道面向过程和面向对象,但要让我们讲出来个所以然,又感觉是不知从何说起.而这种茫然,其实就是对这两大编程思想 ...
- 面向对象和面向过程:两种程序设计思想的基础介绍和对比
一.面向过程程序设计 面向过程:程序=算法+数据结构 面向过程的核心理念是"步骤分解",即把需要解决的问题分成一个个步骤,并用不同函数来实现它们.设计思维"自顶向下,逐步 ...
最新文章
- Funtion:POPUP_TO_DECIDE_LIST
- 使用numpy生成one_hot
- 为应用“瘦身”!给 Android 应用开发者的十个建议(转)
- 概率论-4.2中心极限定理(待补充)
- vm服务器虚拟化如何漂移,解决虚拟机漂移问题的自动化网络管理
- Qt5.9生成dll详细步骤
- [转载]Oracle ltrim() 函数用法
- 黑马程序员之在Mac系统上安装Tomcat
- 谷歌大脑科学家 Caffe缔造者 贾扬清 微信讲座
- 易筋SpringBoot 2.2 | 第三十二篇:Redis Docker入门
- 视频解码测试软件,视频解码:视频解码性能测试_平板电脑评测-中关村在线
- android MTK手机adb remount 失败,如何remont成功?
- 【Dam Dadi Doo】MMD镜头+动作打包下载.zip
- 怎么更改计算机网上邻居,如何更换登入网上邻居帐号
- html+js+Jquery
- 如何将Word压缩到最小,这个方法你该知道
- antlr 安装使用
- ACS711KLCTR-12AB-T霍尔效应线性电流传感器Allegro ACS711
- 面对流量型DDOS攻击不知所措?这几种DDOS防护手段你需要知道
- python里面Nose和pytest的区别
热门文章
- 发票识别100%智能
- 科罗拉多大学波尔得分校计算机科学,科罗拉多大学波尔得分校副教授Dan Zhang:基于线性规划的近似动态规划方面的一些最新成果...
- 深入理解JVM字节码(一)
- [从头读历史] 第255节 孔子和他的《春秋》 [BC657至BC598]
- [ahk]解析大智慧自选股blk文件中的股票代码
- 数据中心机房基础建设,等级、机柜、机架设定等相关内容都在这里!
- 不相关、独立、正交的区别与联系
- 深入浅出kafka原理-5-kafka同步副本ISR高低水位HW
- CMMI:OPM--对模型做DMAIC
- 项目中项目评估概述及原则