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

一、 面向过程和面向对象的区别

  1. 面向过程:面向过程就是分析解决问题所需要的步骤,然后 用函数把这些步骤一步一步实现,使用时一个一个依次调用即可;

  2. 面向对象语言:指用于描述的设计是以对象为核心,而对象是程序运行时刻的基本成分。

     面向对象就是去思考谁去干。例如一匹马,马具有一些基本属性,比如 能睡觉,能跑,能跳,能吃东西。 之后去调用,马睡醒,马跑了一圈,马在吃东西。面向对象具有识认性,系统中的基本构件可识认为一组可识别的离散对象,对象具有唯一的静态类型和多个可能的动态类型,在基本层次关系的不同类中共享数据和操作。
    

    具体区别可以拿一些生活中的实例来理解,例如你和朋友在QQ上聊天,面向过程的设计思路就是 首先分析问题的步骤:1、打开QQ,2、你在QQ中输入消息,3、发送消息,4、判断是否发送成功,5、朋友收到消息,6、朋友发送消息给你,7、判断是否接收成功、8、返回步骤 2,9、结束这次聊天。把上面的步骤用不同方法实现。
    如果按面对对象的设计思路来解决问题。面向对象的设计则是以另一种的思路来解决问题。整个思路可以分为 1、你和朋友,输入消息;2、QQ,发送和接收消息;3、网络,判断是否发送成功。第一类对象(你和朋友)负责输入聊天内容,并告知第二类对象(QQ),QQ接收到你或者朋友输入的聊天消息,就要负责在聊天框上显示出消息,同时利用第三类对象(网络)来判断消息是否发送成功。
    以上面的例子可以看出,面向对象以功能来划分问题。同样是发送消息,面加过程的设计中分散在了多个步骤中,可能造成消息的发送错误。而面向对象的设计中,发送消息只在QQ中出现,从而保证了消息的正确性。

以上理论主要结合了一些网络上的知识整理而出。

代码示例:

在这个小程序中 主函数调用了 其他类对象 而各个类对象负责该类需要做的事,
比如在dog这个类文件中做了读取图片文件,读书音频文件,以及在程序中图片所在的位置的功能。

#include "dog.h"
void dog::draw()
{IMAGE img;loadimage(&img, L"狗.jpg", 200, 200, true);putimage(m_x, m_y, &img);
}void dog::shout()
{PlaySound(L"狗叫声.wav", NULL, SND_FILENAME | SND_ASYNC);
}void dog::move(int x, int y)
{m_x = x;m_y = y;
}

简单理解面向对象和面向过程相关推荐

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

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

  2. 通俗理解面向对象和面向过程+编程思想

    上午单位的C++大佬给我们分享了一些编程思想,开始介绍了面向对象和面向过程 面向过程是什么,就是对事件的过程进行编程,我们已知事件的发展过程,我们根据过程发展的节点去编程.整个编程是过程驱动,开始,然 ...

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

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

  4. 关于面向对象和面向过程的简单理解

    关于面向对象和面向过程的理解 1.什么是面向过程? 大概意思:就是做一件事情,走大到小,从里到外,每个步骤的细节(自上向下,逐步细化).

  5. 对面向对象和面向过程的理解

    面向过程的程序设计 比如说,要去做一件事情,那么我就需要知道这件事情要怎么做,第一步应该做什么,第二步应该做什么,我们都会不自觉的按部就班的罗列出我们要做的事情.而当我们按着我们罗列的步骤去解决问题时 ...

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

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

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

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

  8. 面向对象和面向过程的区别个人觉得是目前解释最好的

    面向对象 首先,一言不和先百度,得到如下定义: 一切事物皆对象,通过面向对象的方式,将现实世界的事物抽象成对象,现实世界中的关系抽象成类.继承,帮助人们实现对现实世界的抽象与数字建模. 我们知道,编写 ...

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

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

最新文章

  1. BE镜像还原系统过程
  2. 简单实例使用_一个关于jmeter的使用简单实例
  3. Java内部类作用全解
  4. Android之BroadcastReceiver的使用
  5. Lua语言教程2 ——【表(Table) 类型】
  6. 4.odoo13的学习(odoo中的xml)
  7. html5media使用
  8. python使用scrapy_Python实现从脚本里运行scrapy的方法
  9. python-redis连接管理
  10. POJ3278 HDU2717 Catch That Cow【BFS】
  11. 安卓mqtt调试工具_App推荐——搞机工具
  12. promise的意义和用法
  13. 解决docker报错:listing workers for Build: failed to list workers: Unavailable: connection error: desc =
  14. vc 鼠标移动画直线
  15. 10年后重温《我奋斗了18年才和你坐在一起喝咖啡》
  16. 2019年定义区块链领域的7个法律问题(下篇)
  17. 在线测试地址 mp3/mp4
  18. 手机端页面的自适应设计的开发思路
  19. Bonobo Git Server的使用
  20. 软硬件解耦太难!英伟达竟“越来越像Mobileye”

热门文章

  1. 无线宽带接入技术MIP
  2. SpringBoot——REST风格
  3. 讯飞星火大模型体验报告
  4. Android面试基础之ContentProvider详解(斗帝养成系列三)
  5. swift 访问oracle,Swift实现JSON转Model - HandyJSON使用讲解
  6. PostGIS 3.0.3 安装
  7. SDE DPM (随机微分方程导出的diffusion model)
  8. 光流(optical flow) 光流法(optical flow method) 光流场(optical flow field)
  9. flex弹性布局常用属性
  10. 怎么在计算机上安装游戏,一人之下怎么在电脑上玩 一人之下电脑版安装教程分享...