面向对象的程序设计与面向过程的程序设计(转)

面向对象与面向过程的区别 由我们学习的由浅入深,我们逐渐的接受了面向对象的思想,那么面向对象和面向过程有什么区别和联系呢?                 记得当时学过的VB就说是面向对象的可视化编程语言,但是VB还是有面向过程的影子,那时候对这两个概念很是模糊。        最近学习了面向对象技术,简单的总结一下。面向对象技术是一种以对象为基础以对象为基础,以事件或消息来驱动对象执行处理的程序设计技术。它以数据为中心 阅读详情

面向过程程序设计

 

   面向过程程序设计的基本任务是编写计算机执行的指令序列,并把这些指令以函数的方式组织起来。通常我们使用流程图组织这些行为(action),并描述从一个行为到另一个行为的控制流。 

当我们集中精力开发函数的时候,很少会去注意那些被多个函数使用的数据(data)。在这些数据身上发生了什么事情?那些使用这些数据的函数又对它们产生了什么影响? 

在多函数(multi-function)程序中,许多重要的数据被放置在全局数据区,这样它们可以被所有的函数访问。每个函数都可以具有它们自己的局部数据。

==============================================================

 

 

面向对象程序设计模式 

发明面向对象程序设计方法的主要出发点是弥补面向过程程序设计方法中的一些缺点。OOP把数据看作程序开发中的基本元素,并且不允许它们在系统中自由流动。它将数据和操作这些数据的函数紧密的连结在一起,并保护数据不会被外界的函数意外的改变。OOP允许我们将问题分解为一系列实体——这些实体被称为对象(object),然后围绕这些实体建立数据和函数。

 

 

一个对象的数据不能访问其它对象的函数,而一个对象的函数可以访问其它对象的函数。 

面向对象程序设计的一些显著的特性包括: 

·程序设计的重点在于数据而不是过程; 

·程序被划分为所谓的对象; 

·数据结构为表现对象的特性而设计; 

·函数作为对某个对象数据的操作,与数据结构紧密的结合在一起; 

·数据被隐藏起来,不能为外部函数访问; 

·对象之间可以通过函数沟通; 

·新的数据和函数可以在需要的时候轻而易举的添加进来; 

·在程序设计过程中遵循由下至上(bottom-up)的设计方法。 

面向对象程序设计在程序设计模式中是一个新的概念,对于不同的人可能意味着不同的内容。因此在我们继续下面的内容之前,最好给面向对象程序设计下一个定义。我们对面向对象程序设计的定义是“面向对象程序设计是一种方法,这种方法为数据和函数提供共同的独立内存空间,这些数据和函数可以作为模板以便在需要时创建类似模块的拷贝。这样的程序设计方法称为面向对象程序设计。” 

从以上定义可以看到,一个对象被认为是计算机内存中的一个独立区间,在这个区间中保存着数据和能够访问数据的一组操作。因为内存区间是相互独立的,所以对象可以不经修改就应用于多个不同的程序中。 

 

 

什么是面向对象程序设计? 

面向对象程序设计(OOP)技术汲取了结构化程序设计中好的思想,并将这些思想与一些新的、强大的理念相结合,从而给你的程序设计工作提供了一种全新的方法。通常,在面向对象的程序设计风格中,你会将一个问题分解为一些相互关联的子集,每个子集内部都包含了相关的数据和函数。同时,你会以某种方式将这些子集分为不同等级,而一个对象就是已定义的某个类型的变量。当你定义了一个对象,你就隐含的创建了一个新的数据类型。 

C++面向对象程序设计 从C到C++ C语言是结构化和模块化的语言,它是面向过程的。在处理较小规模的程序时,程序员用C语言较为得心应手。但是当问题比较复杂﹑程序的规模比较大时,结构化程序设计方法就显出它的不足。C程序的设计者必须细致地设计程序中的每一个细节,准确地考虑程序运行时每一时刻发生的事情,例如各个变量的值是如何变化的,什么时候应该进行哪些输入,在屏幕上应该输出什么等。这对程序员的要求是比较高的,如果面对的是一个复杂问题,程序员往往感到力不从心。当初提出结构化程序设计方法的目的是解决软件设计危机,但是这个目标并 阅读详情

相关推荐

《面向对象程序设计》课程总结

有关Java面向对象程序设计课程前6章的学习总结

weixin_64672588的博客 1140

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

简单介绍面向过程和面向对象的思想内核,并将两者进行比较分析

liu_shu_hong的博客 4547

别再折腾虚拟机了!手把手教你用WSL2在Windows 11上安装Kali Linux(含汉化与图形界面)

本文详细介绍了如何在Windows 11上通过WSL2安装和配置Kali Linux,包括汉化与图形界面设置。通过WSL2,用户可以享受接近原生性能的Linux体验,同时保持与Windows系统的无缝集成,特别适合网络安全爱好者和开发者。文章还提供了常见问题解决和性能优化建议,帮助用户高效使用Kali工具集。

weixin_42525369的博客 322

面向对象编程(Java)

面向对象思考 面向对象程序设计之前,先进行问题求解和基本程序设计。 面向过程和面向对象程序设计的不同之处。 面向对象程序设计的优点。 如何在应用程序中设计新类、如何使用这些类,以及 Java API 中的一些新的类。 类的抽象和封装 类的抽象是指将类的实现和类的使用分离开,实现的细节被封装并且对用户隐藏,这被称为类的封装。 方法的抽象, Java 提供了多层次的抽象。类抽象 (class abst...

peabits' Web Log 557

SAP采购订单中项目类别B(限制)的控制逻辑

在笔者所在企业中,框架类采购订单中项目类别需要选择B(限制)。今天笔者从比较全面的角度分析了一下这个项目类别B到底可以决定些什么?控制到什么?先从后台SPRO中打开相应的配置菜单。 打开项目类别B之后,可以看到一些配置信息,这里有一点与其它配置不同的地方,即无法新增项目,也无法修改现有项目。这个疑惑今后再去解决吧。当前只研究项目类别B的控制逻辑。 下面就参考上图中的配置分段来分析和测试其控制逻辑, 1、如项目类别配置图,所需材料值为不允许;经测试,如下图在采购订单创建时,不能输入物料编号条目。

专注SAP应用技术文章写作,致力于拉近用户与系统间的距离; 6032

智能驾驶功能软件平台设计规范 第一部分:系统架构

智能驾驶功能软件平台设计规范 第一部分:系统架构2020-07-29 发布。

爱是与世界平行 6743

【智能家居】面向对象编程OOP和设计模式(工厂模式)

提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们的具体类。

咖喱年糕的博客 689

RoboMaster电控入门:手把手教你用STM32CubeMX配置大疆C板CAN总线驱动GM6020电机

本文详细介绍了如何使用STM32CubeMX配置大疆C板CAN总线驱动GM6020电机,适用于RoboMaster电控入门。从硬件准备到CubeMX工程初始化,再到CAN过滤器配置和电机控制协议解析,手把手教你避开常见配置陷阱,实现精准控制。

weixin_42524762的博客 267

1.面向过程的程序设计&面向对象的程序设计

面向过程的程序设计 核心是“过程”二字,“过程”指的是解决问题的步骤,即先干什么再干什么…,基于面向过程设计程序就好比在设计一条流水线,是一种机械式的思维方式。若程序一开始是要着手解决一个大的问题,面向过程的基本设计思路就是把这个大的问题分解成很多个小问题或子过程,这些子过程在执行的过程中继续分解,直到小问题足够简单到可以在一个小步骤范围内解决。 优点: 复杂的问题流程化,进而简单化(一个复杂的问...

jianpeng的工程笔记 2280

ch32v103xx 烧写

烧写方式 串口uart, usb,swd(wch link)但不建议按此使用,参官方说明。

qq_39239990的博客 637

自定义View系列教程04--Draw源码分析及其实践

通过之前的详细分析,我们知道:在measure中测量了View的大小,在layout阶段确定了View的位置。 完成这两步之后就进入到了我们相对熟悉的draw阶段,在该阶段真正地开始对视图进行绘制。按照之前的惯例,我们来瞅瞅View中draw( )的源码 public void draw(Canvas canvas) { final int privateFlags = mPriv

谷哥的小弟 2万+

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

面向过程    优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。    缺点:没有面向对象易维护、易复用、易扩展    面向对象    优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护

ShadowSun的专栏 3002

Cesium 实现动态加载气象数据:渲染成动态雨雪/云层效果(源码 + 原理)

本文介绍了在Cesium中实现动态天气效果的技术方案。核心思路是通过时间轴驱动多层数据动态切换,包括:1)时间维度处理,按序列加载不同气象图层;2)空间维度处理,将气象数据切分为瓦片;3)效果层实现,制作风场、降水等动态可视化效果。文章详细讲解了后端数据预处理(生成瓦片和风场JSON)、前端实现(双层雷达瓦片交替渐变、风场粒子系统)的具体方法,并提供了完整的代码示例。此外还探讨了雨雪粒子、云层效果等增强功能,以及工程化建议,为构建科学准确的动态天气可视化系统提供了实用解决方案。

专注AI大模型,软件混淆,授权 621

面向过程的程序设计以及面向对象的程序设计

我的目录1.面向过程的程序设计2.面向对象的程序设计3.抽象4.封装5.继承6.多态性 1.面向过程的程序设计       结构化程序设计语言是一种面向过程的程序设计语言,它提供了顺序、分支和循环三大控制结构的语句,支持数据抽象,过程抽象等概念,使程序设计更接近于客观事物的结构和逻辑含义,程序语言更接近于人类的自然语言。支持面向过程的程序...

乐以风的博客 4256

BiSeNet:面向实时语义分割的双边网络

BiSeNet 系列重新定义了实时语义分割的范式“不要在速度和精度之间妥协——用架构创新,两者兼得。V1:提出双边解耦思想,启发后续大量工作;V2:通过极致轻量化,证明小模型也能高精度;V3(工业版):推动端侧 AI 落地,成为行业标准之一。如今,BiSeNet 已成为嵌入式视觉系统的默认选择,其设计理念(解耦、轻量、融合)被广泛应用于目标检测、姿态估计等领域。

浩瀚之水的专栏 267

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

什么是面向对象程序设计

目录(可以点击相应标题快速定位) 1.面向对象和面向过程区别→2.什么是对象→3.什么是消息→4.什么是封装→5.什么是多态→6.面向对象的优点: 本文介绍 C++基础概念和知识。如果您想看其他语言(如 java)的语法,本文不涉及。 1.面向对象和面向过程区别 面向过程程序设计:所谓的面向过程程序设计就是函数的定义和调用。简单地说,过程就是程序执行某项操作的一段代码,函...

一丁的博客 4万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

面向对象程序设计的由来

程序设计思想是计算机科学的核心之一,它随着硬件技术、软件需求和人类思维的进步而不断演进。从最初的面向机器编程,到面向过程、结构化程序设计,再到面向对象思想,程序设计思想的发展不仅提高了编程效率,还极大地改善了软件的可维护性、可扩展性和可重用性。本文将详细回顾程序设计思想的发展历史,并探讨其未来趋势。程序设计思想的发展是计算机科学进步的重要体现。从面向机器到面向对象,再到多范式融合,程序设计思想不断适应新的技术和需求。

懂搬砖 1084

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

【C/C++面试必备】面向对象与面向过程的区别

这篇文章来说下面向对象编程! 那什么是面向对象编程呢? 是这样? 还是这样? 当然,都不是! 介绍面向对象之前,那必须先说一下面向过程。 什么是面向过程呢? 面向过程(Procedure-Oriented Programming,简称POP)是一种编程模型,由一系列要执行的计算步骤组成,通常采用自上而下、顺序执行的方式。 面向过程的编程语言包括:C、Fortran、Pascal、Basic等。 下面来看一个简单的例子: 咱们以把大象放进冰箱为例,面向过程的方式分为三步: 1..

Muti-Agent 9249

面向对象与面向过程的比较

惯例广告一发,对于初学真,真的很有用www.java1234.com,去试试吧! 1.什么是面向对象技术? 面向对象技术是一种以对象为基础,以事件或消息来驱动对象执行处理的程序设计技术。它具有抽象性、封装性、继承性及多态性。 2.面向对象与面向过程程序设计有什么不同? 面向对象与面向过程程序设计有如下不同: (1)面向过程程序设计方法采用函数(或过程)来描述对数据的操作,但又将函数与其操作的数据...

weixin_30583563的博客 142

这样理解面向对象的程序设计思想

前言 Java是一门纯面向对象语言,它不像c++那样,即支持面向对象,又支持面向过程.想要学好java就应该先对什么是面向对象和面向过程有所理解.这里较为笼统的说一下面向对象与面向过程的区别 传统的面向过程程序设计语言把程序概括为:程序=数据结构+算法; 而面向对象的程序设计语言把程序概括为: 程序=对象+消息 面向对象与面向过程 面向过程语言着重于解决问题的过程,在程序设计采用的是过程抽象, 它将一个复杂的问题,分解成若干子问题,如果子问题还是比较复杂 则继续分割,得到一个个可以解决的小问题后,分析出

weixin_44696451的博客 422

理解面向过程和面向对象的程序设计方法

一、结构化程序设计 1,概念: 传统的结构化程序设计思想的核心是功能的分解。将问题分解为多个功能模块,根据模块功能来设计用于存储数据的数据结构,最后编写了过程(函数)对数据进行操作实现模块的功能。程序由一系列处理数据的过程(函数)组成。这种设计方法的重点是面向过程的,也称为面向过程的程序设计方法。 2,特点: 传统的结构化程序设计思想可归结为: “程序=数据结构+算法” 数据结构用于量化描述要...

qq_43660987的博客 5064

一文带你吃透面向对象程序设计语言

面向对象程序设计语言是现代软件开发的核心工具,通过封装、继承和多态三大特性实现代码模块化与可维护性。主流语言各具特色:Java以跨平台性和安全性著称,适用于企业级开发;C++凭借高性能主导系统与游戏开发;C#依托.NET框架在Windows平台表现优异;Python则凭借简洁语法和丰富库成为数据科学与AI领域首选。选择语言需综合考虑应用场景、学习曲线、社区支持、性能需求和团队技术栈等因素。掌握这些特性将帮助开发者高效构建复杂软件系统,在数字化时代创造更多价值。

大雨淅淅的博客 1612

面向对象与面向过程的区别与优劣

面向对象与面向过程的区别与优劣 原文地址:https://blog.youkuaiyun.com/jerry11112/article/details/79027834 作者:十四期_李光 著作权归作者所有。商业转载请联系作者获取授权,非商业转载请注明出处。 前言 如果你很想搞明白面向对象是什么,面向过...

qq_39143170的博客 475

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

面向过程的程序设计 比如说,要去做一件事情,那么我就需要知道这件事情要怎么做,第一步应该做什么,第二步应该做什么,我们都会不自觉的按部就班的罗列出我们要做的事情。而当我们按着我们罗列的步骤去解决问题时,实质上就是按照面向过程的思想去解决问题。我们罗列的步骤就是过程,按照步骤解决问题 就是面向过程。在程序设计语言中,我们会通过函数来解决,将要做事情的每一个步骤都给成一个函数,通过函数调用的关系完成每...

weixin_43831728的博客 2318
上一篇: Java相关基础知识
下一篇: 世人皆道佳娃好
memory8G
博客等级 码龄16年 73粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值