【架构三】结构化方法和面向对象方法

结构化方法和面向对象方法是软件开发中两种不同的方法论。它们在设计和组织软件系统时具有一些显著的区别,以下是它们之间的主要不同点:

理念和思想

结构化方法:结构化方法强调将问题分解为更小、更简单的子问题,然后使用顺序、选择和循环等控制结构来组织和管理这些子问题。它主要关注程序的逻辑流程和数据流
面向对象方法:面向对象方法强调将问题看作是由相互关联的对象组成,每个对象具有数据和方法。它主要关注的是对象的封装和交互

数据和行为的组织方式

结构化方法:结构化方法数据和行为之间的关系是通过参数传递实现的。
面向对象方法:面向对象方法将数据和行为封装在对象中。对象之间通过消息传递进行通信和交互。

抽象和封装

结构化方法:结构化方法通过子程序和模块来实现模块化和抽象。子程序将一组相关的操作封装在一起,模块将相关的子程序组织在一起。抽象程度较低,主要通过对过程的分解来实现。
面向对象方法:面向对象方法通过类和对象来实现抽象和封装。类定义了对象的属性和方法,对象是类的实例。抽象程度较高,可以使用继承、多态等概念来实现更高层次的抽象

继承和多态

结构化方法:结构化方法不直接支持继承和多态的概念。代码的重用通常通过复制和粘贴来实现,导致代码冗余和维护困难
面向对象方法:面向对象方法提供了继承和多态的机制实现代码的重用和扩展,提高了灵活性和可扩展性。

总的来说,结构化方法更注重程序的逻辑和数据流程,面向对象方法更注重对象的交互和封装。面向对象方法通过引入抽象、继承和多态等概念,提供了更强大的组织能力和扩展能力,使得代码更易于理解、维护和重用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/795478.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言第四十弹---预处理(下)

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】 预处理 1、#和## 1.1 #运算符 1.2、##运算符 2、命名约定 3、#undef 4、命令行定义 5、条件编译 6、头文件的包含 6.1、头文件被包含的方式 6.1.1、本地…

力扣面试150: O(1) 时间插入、删除和获取随机元素 HashMap结合数组

Problem: 380. O(1) 时间插入、删除和获取随机元素 文章目录 思路复杂度Code 思路 👩‍🏫 三叶题解 复杂度 时间复杂度: O ( 1 ) O(1) O(1) 空间复杂度: O ( n ) O(n) O(n) Code class RandomizedSet {static int[] nums new int[200_010];//存…

基于kmeans的聚类微博舆情分析系统

第一章绪论 1.1研究背景 如今在我们的生活与生产的每个角落都可以见到数据与信息的身影。自从上十世纪八十年代的中后期开始,我们使用的互联网技术已经开始快速发展,近些年来云计算、大数据和物联网等与互联网有相领域的发展让互联网技术达到了史无前例…

1、java语法入门(找工作版)

文章目录 一、Java简介二、Java常量与变量1、标识符2、关键字3、变量4、类的命名规则5、数据类型6、基本数据类型字面值7、变量的定义与初始化8、ASCII码和Unicode编码9、转义字符10、类型转换11、常量 三、Java运算符1、算术运算符2、赋值运算符3、关系运算符4、逻辑运算符5、…

电子积木方案开发商

东莞市酷得智能科技有限公司电子积木方案开发商 提供消费电子解决方案、提供IC技术支持,全国线上线下服务 积木小车底层驱动开发过程主要涉及到以下几个方面: 首先,需要对小车底盘结构、硬件、模块等有深入的了解。底盘承载着机器人定位、导…

C++——STL容器——string

目录 1.构造函数 模拟实现 2.析构函数 模拟实现 3.string遍历 3.1 c_str、size、lenth、capacity等 模拟实现 3.2 字符串元素访问 3.2.1 []操作符重载、at 模拟实现 3.2.2 front、back等 3.3 迭代器 模拟实现 4.赋值操作 4.1 赋值重载函数 模拟实现 4.2 assig…

如何保证全部流量走代理

最近因为某些原因,需要做一些确保高匿的事情,便花时间做了一定的调研,至于是什么事情这里不便多说。 本文主要还是聊聊我看到的一些使用代理软件误区和确保流量全部走代理的方法,甚至也可以说是Proxifier的用户使用手册&#xff…

吴恩达2022机器学习专项课程(一) 5.4 多元线性回归的梯度下降

问题预览/关键词 多元线性回归的函数是?如何向量化表达?如何计算多元线性回归的成本函数的梯度?正规方程法是什么?正轨方程法的缺点是什么? 笔记 1.多元线性回归函数 5.1章节描述过。 向量化函数 原版函数 2.计…

Redis中的持久化

持久化 .RDB手动触发save命令bgsave命令 自动触发bgsave的具体流程RDB的处理保存压缩校验 RDB的优缺点 AOF命令写入文件同步重写机制启动时恢复数据 本章重点回顾 . RDB RDB持久化是把当前进程数据生成快照保存到硬盘的过程,触发RDB持久化过程分为手动触发和自动触发 手动触发…

vue-Router(初级篇)

路由的概念 1.什么是路由 路由是根据不同的url2.什么是前端路由 2.什么是前端路由 特点:不向后台发送请求,不刷新页面,前后端分离 3.什么是后端路由 特点:向服务器发送请求,会刷新页面,前后端不能分离 vu…

特朗普数字钱包被空投100万MVP,加密资产或将提供更多竞选资金

唐纳德.特朗普先生对待加密货币的态度正在发生改变,曾经他对加密货币持有负面的态度,曾多次在公开场合批评比特币等数字货币。然而,随着特朗普NFT等加密资产的上链,他对加密货币的态度也发生了巨大的转变。 据相关媒体报道&#x…

FastWiki发布`0.2.4`支持js 函数

Release v0.2.4 AIDotNet/fast-wiki (github.com) 支持JS动态functioncall调用支持动态function管理支持JS在线编辑提供智能代码提示支持JS在线编辑提供部分绑定的c#类(默认提供Console,HttpClient)支持Application绑定多个Function Call优…

地面站Mission Planner从源码编译与运行

0. 环境 - win10(基本需要100G硬盘) - ubuntu18 1. 安装vs2022 下载 vs2022 community 在线安装包。 https://visualstudio.microsoft.com/ 打开 Visual Studio Installer 先安装 Visual Studio Community 2022本体。占用1.2GB。 Visual Studio Inst…

Zookeeper 简明使用教程

Zookeeper 简明使用教程 ZooKeeper是一个开源的分布式协调服务,用于管理和维护分布式系统中的配置信息、命名服务、分布式锁、分布式队列等。 一、环境 JDK环境 二、下载 $ wget https://dlcdn.apache.org/zookeeper/zookeeper-3.9.2/apache-zookeeper-3.9.2-bin…

#!/bin/sh和#!/bin/bash的区别

前言:都是脚本文件中的 shebang(也称为 hashbang)行,用于指定脚本文件的解释器 解释: #!/bin/sh:这行告诉操作系统使用 /bin/sh 这个解释器来执行脚本。/bin/sh 是一个标准的 Unix Shell,通常是…

【Docker系列】在 Linux 上安装 Docker Compose 的简明步骤

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Git 如何去使用

目录 1. Git暂存区的使用 1.1. 暂存区的作用 1.2. 暂存区覆盖工作区(注意:完全确认覆盖时使用) 1.3. 暂存区移除文件 1.4. 练习 2. Git回退版本 2.1. 概念 2.2. 查看提交历史 2.3. 回退命令 2.4. 注意 3. Git删除文件 3.1. 需求 …

CAN的回环测试实验

我只有一个STM32F429的开发板,所以这次我就做个回环测试. 1.先了解一下有关CAN的一些标准库,结构体 1.CAN初始化结构体---CAN_InitTypeDef 2.CAN发送及接收结构体--- CanTxMsg(发送结构体) CanRxMsg(接收结构体) 3.CAN筛选器结构体 --- CAN_FilterInitTypeDef 2.代码编写 以及…

HarmonyOS 和 OpenHarmony

HarmonyOS 和 OpenHarmony 支持的 shell 命令不同,因此有时候需要做一做区分,目前有些文档上没有标注,因此可能产生歧义。 HarmonyOS 支持 getprop: getprop hw_sc.build.os.apiversion # 查看API版本OpenHarmony 上支持 param…

Android Studio 通过 WIFI 调试手机 app

操作流程 首先第一步,PC 和手机都需要连在同一个局域网 WIFI。 第二步,手机 USB 连上 PC,确保能查看到通过 USB 连上的设备: >>adb devices List of devices attached CSXasjdhwjqwjhqdh device (最好只看到一个连上的设置…