前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >面向过程与面向对象

面向过程与面向对象

作者头像
Noneplus
发布于 2020-07-21 02:16:47
发布于 2020-07-21 02:16:47
7600
举报
文章被收录于专栏:开发笔记开发笔记

Java编程思想》是一本好书,但同时也是晦涩难懂,其一是知识本身的难度,其二这本书是翻译过来的,而且是直译。我也是尝试了好多次才又拿起了这本书啃,没想到今天突然感觉发现了宝藏。

接下来我就罗列一下今晚的收获吧:

Sun对Java的设计目标:为程序员减少复杂性。(虽然Sun被收购了,还是谢谢Sun,注意,这里说的不是减少程序的复杂性,而是减少程序员写代码的复杂性,Java面向对象的思想毫无疑问解放了编程的生产力,打个比方,Sun负责留守大本营,程序员们利用Java大杀四方)

”人们所能解决问题的复杂性取决于抽象的类型和质量“,这是结论,接下来就聊到抽象机制的问题了。

举起了一个栗子:

  • 汇编语言是对底层机器的抽象
  • Basic,C是对汇编语言的抽象

接下来,重点来了:

但它们的抽象都是基于计算机的结构去解决问题,而不是基于所要解决的问题去考虑。

面向过程的特点的本质是啥?是基于计算机的结构解决问题!!!

在面向过程的情况下,程序员需要在机器模型和待解决问题模型之间建立关联。(当然,这种方式是非常困难的)

在面向过程到面向对象的路上,前人们做了哪些努力呢?

  • LISP:所有问题都是列表
  • APL:所有问题都是算法
  • Prolog:所有问题都是决策链

问题:针对特定领域都是不错的解决方案,但其通用性太弱,无法脱离领域限制。

面向对象来了,核心思想:所有问题都是对象!!!(对象具有状态和操作,也就是特性和行为,更专业,更熟悉的说法:属性和方法)

一句话说明面向过程和面向对象的区别???

面向过程基于计算机的结构解决问题,面向对象基于问题本身(基于问题本身:将问题抽象为对象)解决问题。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-07-19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Java编程思想之每天两小时(一)
之前也学过Java,但是因为很少用,所以一直没有当回事,现在想想,那时真是太年轻啊。后来朋友推荐这本Java编程思想给我,刚拿到这本书,被这厚厚的一本惊呆了,里面的很多内容也是似懂非懂。不知道从何看起。然后这本书一直被搁置在书架上。现在开始做项目时才发现有个扎实的Java基础是非常有必要的。所以翻开这本书,每天两小时边调试边学习。顺便一做个笔记,以后可以时常温习。如果有道友对这方面比较熟悉,求指教。感激不尽!
仇诺伊
2018/09/12
5450
面向对象与面向过程的本质的区别
如果你很想搞明白面向对象是什么,面向过程是什么,或者说二者之间的区别是什么,那么就花费一点时间来研读一下这篇博客,你一定会有很大的收获的!
全栈程序员站长
2022/08/31
3450
面向对象与面向过程的本质的区别
编程思想:面向对象和面向过程
何谓面向对象?何谓面向过程?对于这编程界的两大思想,一直贯穿在我们学习和工作当中。我们知道面向过程和面向对象,但要让我们讲出来个所以然,又感觉是不知从何说起,最后可能也只会说出一句就是那样啦,你知道啦。而这种茫然,其实就是对这两大编程思想的迷糊之处。本文通过学生到校报道注册的实例,阐述了面向过程和面向对象两大思想。希望能对你的学习和工作有所帮助。 一、面向过程   首先我们来认识下,什么是面向过程?如果咬文嚼字的话可以这样来理解,面向过程就是面向解决问题的过程进行编程。仔细思考一下,我们在学习和工作中,当我
李海彬
2018/03/23
1K0
编程思想:面向对象和面向过程
编程范式的发展历史
在计算机诞生的初期,程序员使用机器语言进行编程。机器语言是一种低级的编程语言,它直接对应计算机的硬件指令集。尽管机器语言可以让程序员充分利用硬件资源,但是它的编程效率低下,容易出错。
运维开发王义杰
2023/08/10
4170
编程范式的发展历史
面向对象相比面向过程有哪些优势?面向过程真的过时了吗?
如果你是一名比较资深的程序员,最开始学习编程的时候,接触的是 Basic、Pascal、C 等面向过程的编程语言,那你对这两个概念肯定不陌生。但如果你是新生代的程序员,一开始学编程的时候,接触的就是面向对象编程语言,那你对这两个概念可能会比较不熟悉。所以,在对比面向对象与面向过程优劣之前,我们先把面向过程编程和面向过程编程语言这两个概念搞清楚。
码农架构
2021/01/19
2.2K0
面向对象和面向过程最本质的区别是什么?
这是技术面试过程中经常问的问题,真要彻底的讲明白,不是一件很容易的事情。可以简单的用C语言和C++两种语言的本质区别来具体解释,首先从设计模式来讲面向对象更加容易形成框架特性,现在高级语言基本上都支持面向对象,像java,python都是这个样子。
程序员互动联盟
2018/12/29
4.3K0
面向过程 VS 面向对象
学习编程, 基本功是掌握编程语言,但编程的本质是逻辑,所以编程思维的培养也很重要。面向过程和面向对象是两种重要的编程思想,下面讲述一下这两者的区别和优缺点比较。
用户8639654
2021/07/26
7350
「MoreThanJava」Day 4:面向对象基础
面向对象程序设计 (Object-Oriented Programming, OOP) 是当今主流的程序设计范型,它取代了 20 世纪 70 年代的 "结构化" 或过程式编程技术。由于 Java 是面向对象的,所以必须熟悉 OOP 才能够很好地使用 Java。
我没有三颗心脏
2020/08/11
4440
「MoreThanJava」Day 4:面向对象基础
面向对象程序设计的由来
最早的程序设计都是采用机器语言来编写的,直接使用二进制码来表示机器能够识别和执行的指令和数 据。简单来说,就是直接编写 0 和 1 的序列来代表程序语言。例如:使用 0000 代表 加载(LOAD),0001 代表 存储(STORE)等。 机器语言由机器直接执行,速度快,但一个很明显的缺点就是:写起来实在是太困难了,一旦你发现自己 写错了,改起来更蛋疼!这样直接导致程序编写效率十分低下,编写程序花费的时间往往是实际运行时间 的几十倍或几百倍。 有一个关于机器语言和比尔盖茨的笑话,是说比尔盖茨拿着绣花针在一张光盘上戳,把 Windows 给戳出 来了!但如果真的让你去戳,不要说 Windows,连一个简单的“Hello world”都要让人戳到眼睛冒烟!
py3study
2020/01/15
6780
python中面向对象VS面向过程
面向过程编程:首先分析出解决问题所需要的步骤(即“第一步做什么,第二步做什么,第三步做什么”),然后用函数实现各个步骤,再依次调用。
全栈程序员站长
2022/09/07
4480
python中面向对象VS面向过程
面向对象与面向过程的区别-面向过程和面向对象有什么区别 面向过程和面向对象的区别
  1、面向过程:是一种以过程为中心的编程思想。都是以什么正在发生为主要目标进行编程。
宜轩
2022/12/29
7440
如何理解面向过程和面向对象?
有人说:“如果上帝是程序员,他怎么创造世界上的所有动物?”,理解这个问题就理解了面向对像。
音视频牛哥
2021/11/27
3810
使用面向过程和面向对象结合的思想开发软件,而不仅仅是使用面向对象的设计思想
面向过程开发也称结构化开发,将软件要实现的功能分解成一个个连续的流程结点,将每个节点都实现为一个函数,依次调用这些函数以完成软件功能。至于执行流程中多个函数共用的数据,则拿出来定义为共享的数据结构,实例化,在函数中使用和传递。
LIYI
2022/11/18
4690
使用面向过程和面向对象结合的思想开发软件,而不仅仅是使用面向对象的设计思想
Java教程分享Java面向对象与面向过程[通俗易懂]
Java教程分享Java面向对象与面向过程,面向对象: 是一种看待问题, 解决问题的思维方式, 着眼点在于找到一个能够帮助解决问题的实体, 然后委托这个实体来解决问题
全栈程序员站长
2022/09/15
2220
面向过程与面向对象
面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候再一个一个的依次调用就可以了。
星辰_大海
2020/10/15
8250
面向过程与面向对象
java是面向对象还是面向过程_Java面向对象编程和面向过程编程的区别[通俗易懂]
“面向过程”(Procedure Oriented)是一种以过程为中心的编程思想,简称OP。“面向过程”也可称之为“面向记录”编程思想,就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。所以面向过程的编程方式关注点不在“事物”上,而是做这件事分几步,先做什么,后做什么。例如:早晨起来:起床、穿衣、洗漱、上班,只要按照这个步骤来,就能实现“一天”的功能,整个这个过程中关注的是一步一步怎么做,并没有关注“人”这个事物。再例如:开门、调整座椅、系好安全带、踩离合、启动、挂档、给油,只要按照这个步骤来,车就走了,显然关注点还是在步骤上,只要实现每一步就行,整个过程并没有关注“汽车”这个事物。
全栈程序员站长
2022/09/08
1K0
面向过程和面向对象
面向过程设计思想: 分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现 以算法为核心 自上向下设计,要求一开始必须对问题有很深的了解 将大问题转化为若干小问题来求解 表现形式:用函数来作为划分程序的基本单位 直接面向问题 面向过程设计的优点: 易于掌握和理解,符合人们的思维习惯 对于需求明确、规模不大、变动较小、的问题非常适合 面向过程设计的缺点: 数据与操作分离开,对数据与操作的修改变得很困难 数据的安全性得不到保证 程序架构的依赖关系不合理 main函数依赖于子函数,子函数又依赖于更小的函数;
孙晨c
2019/09/05
8920
面向过程和面向对象
面向对象和面向过程的区别理解_c是面向对象还是面向过程
玩家对象负责接受用户输入,棋盘对象棋子布局的变化,棋盘对象接收到了棋子的变化就要负责在屏幕上面显示出这种变化,同时利用规则对象来对棋局进行判定。
全栈程序员站长
2022/09/23
1K0
面向对象和面向过程的区别理解_c是面向对象还是面向过程
面向对象VS面向过程
1 前言 向伟人致敬 其实这个问题真的是被问烂了,特别是刚入门的同行,我感觉这个问题应该是大家都听说过了,但是有多少人真的是理解这两个区别呢,这两种方式并不是简简单单的两种编程语言的区分,可能会有人说,面向对象就是万物皆对象,说的没错,我也相信你是一个爱学习的好宝宝,这句话如果我没记错的话应该是出自《java编程思想》,这本神书,带领太多的IT小白走进了java世界,在此应该向大佬致敬。话不多说,回归正题,今天我们就来解释一下这两种编程方式的优劣。 首先我们先根据一个简单的小栗
用户1257393
2018/01/30
1.1K0
编程思想 _用Minercraft来讲解面向过程与面向对象
!!!这篇文章主要学习面向对象和面向过程的思想,面向对象的具体实现将在后续文章出现
木杉乀
2021/04/02
5280
推荐阅读
相关推荐
Java编程思想之每天两小时(一)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档