简单通俗的说一下什么是面向过程和面向对象
网上关于这两个的回答真的很多,但是都有一个共同特点:------------不容易懂。
我今天就简单通俗的说一下(当然,如果你要非常深入的了解,这篇不适合你。如果你只是为了了解什么是面向过程和面向对象,怎么面对考试,面对面试,怎么和别人说两者区别,看我下面几段话够了。)
---------------------------------------------先来两小段通俗解释
面向过程(Procedure Oriented 简称PO :像C语言):
看名字它是注重过程的。当解决一个问题的时候,面向过程会把事情拆分成: 一个个函数和数据(用于方法的参数) 。然后按照一定的顺序,执行完这些方法(每个方法看作一个个过程),等方法执行完了,事情就搞定了。
面向对象(Object Oriented简称OO :像C++,JAVA等语言):
看名字它是注重对象的。当解决一个问题的时候,面向对象会把事物抽象成对象的概念,就是说这个问题里面有哪些对象,然后给对象赋一些属性和方法,然后让每个对象去执行自己的方法,问题得到解决。
------------------------------------------最后来个例子
问题: 冰箱里面放有脏衣服,怎么洗干净?
2 执行加水方法;
面向对象: 我先搞个洗衣机对象和人对象
洗衣机: 加入一些属性和方法 洗衣服方法 清洗方法 烘干方法 人:加洗衣粉方法 加水方法
然后 人.加洗衣粉 人.加水 洗衣机.洗衣服 洗衣机.清洗 洗衣机.烘干
----------同样解决问题 先抽象出对象,然后用对象执行方法的方式解决问题。
然后在来一个我以前知乎看到的例子 : 男女亲密例子 man gril
面向过程: make_love(man,gril) ---------解决问题 拆成一个动作,把数据丢进去
面向对象: man.make_love(gril) 或者 gril.make_love(man) -----解决问题 抽象出对象,对象执行动作 。
当然,你面试的时候,你不要做make_love ....你可以说是打牌 。
面向过程就是 打牌 (你,我,他)
面向对象就是 我.打牌(你,他) or 你.打牌(我,他) or 他.打牌(我,你)
我觉得算是很通俗啦,希望对大家有用。。。。
简单通俗的说一下什么是面向过程和面向对象相关推荐
- 25.C++:最通俗的讲解,什么是面向过程?什么是面向对象?
网上关于这两个的回答真的很多,但是都有一个共同特点:------------不容易懂.我今天就简单通俗的说一下(当然,如果你要非常深入的了解,这篇不适合你.如果你只是为了了解什么是面向过程和面向对象, ...
- 简单抽象的去理解 面向过程和面向对象 的区别
面向过程和面向对象的区别 兴趣所致录 面向过程 场景:你是一条不折不扣的单身狗,然后还想吃苹果[手动滑稽狗头] 首先吃苹果得有苹果,所以得去买苹果,然后洗苹果, 如果焦作一下不想吃皮,你得先削皮, 要 ...
- 架构师之路---面向过程和面向对象 王泽宾
1.引言 机算机科学是一门应用科学,它的知识体系是典型的倒三角结构,所用的基础知识并不多,只是随着应用领域和方向的不同,产生了很多的分支,所以说编程并不是一件很困难的事情,一个高中生经过特定的训 ...
- java面向过程和面向对象
面向过程(Procedure Oriented):说的是功能的行为 面向对象(Object Oriented,简称OO):说的是功能的对象 面向过程理解: 当学习java的时候先了解java语言优良的 ...
- java知识点7——面向过程和面向对象、面向对象的内存分析、构造方法
面向过程和面向对象 解决简单问题可以使用面向过程 解决复杂问题:宏观上使用面向对象把握,微观处理上仍然是面向过程. 面向对象具有三大特征:封装性.继承性和多态性,而面向过程没有继承性和多态性,并且面向 ...
- (转)函数作用域,匿名函数,函数式编程,面向过程,面向对象
函数作用域 ? 1 2 3 4 5 6 7 8 9 10 def first(): name = 'Wangben' def second(): name = 'Men ...
- 面向过程 VS 面向对象
面向过程(Process Oriented)这个词是在面向对象(Object Oriented)出现之后为与之相对而提出的.其实它在以前基本被叫做"结构化编程". 早期的程序设计, ...
- java面向过程编程怎么写_从面向过程到面向对象,我的编程之路
也许现在新一代的程序员一开始涉足的就是c++,C#,Java这类面向对象的语言,如果这样,这篇文章可能得不到他们的认同. 这里,我只想写写我从面向过程到面向对象开发成长中的一些感想而已. 我最初学习的 ...
- JAVA入门级教学之(面向过程和面向对象的区别)
目录 JAVA入门级教学之(面向过程和面向对象的区别) 面向过程和面向对象的区别: -面向过程: -面向对象: -发展历程: -生命周期中包括: -什么是类: -什么是对象: -软件开发的过程: -重 ...
最新文章
- IntelliJ IDEA绑定Github报Error 403: Not Authorized没有授权问题解决方法
- AUTHORITY-CHECK
- python代码变成运行程序_用Python脚本转换成windows的可执行程序
- demo4 debug - create class instance - component works as type
- websocket一直无法链接_.NET Core 实现基于Websocket的在线聊天室
- android 不通过数据线打印日志_人人都可写代码-Android零基础编程-开发调试、APK编译04...
- Jetson AGX Xavier配置cuDNN流程
- java manualbuffer_java从很大的buffer数组中每次读128字节 读到最后不足128字节的用0xff补齐 这个代码怎么写 ?没有思路哎...
- 我们为什么要使用NodeJS
- 【教程】Edraw Max使用教程:创建一个基本流程图
- 双目立体匹配算法:ELAS
- win10安装jdk1.8配置环境变量
- 解决报错Duplicate keys detected
- 离散数学_量词分配等值式
- 一文带你看懂TCP/IP协议 (更新中 现更新至网络层部分)
- Docker Registry部署镜像私有仓库及鉴权认证
- 区块链面临的挑战(一)
- Linux Shell操作json工具jq
- Linux环境开机自启动
- 显示译码器——Verilog HDL语言
热门文章
- 魅族Android7.0刷机包,乐视X900+安卓7.1.2 魅族Flyme6刷机包 最新6.8.3.17R版 紫火20180510更新...
- iOS RN学习随笔
- 员工激励机制设计宝典
- krpano相关笔记
- Ninja构建系统入门--GN与Ninja构建过程
- TCP协议客户端与服务器端一般的通信过程
- 软件测试基础理论-测试用例
- 浅谈FineReport常用函数及使用时报错的解决办法
- deepin下安装mysql_deepin系统安装mysql
- 企业微信爆粉方式有哪些