面向对象是怎样工作的-第 1 章 面向对象: 让软件开发变轻松的技术

20、软件开发实施工作流:实践与策略 本文深入探讨了软件开发中的实施工作流、编程最佳实践以及一次性软件策略的应用。详细介绍了从理解设计模型到代码编写、集成与测试的完整流程,并结合FLOOT测试技术确保软件质量。文章强调通过编程标准提升代码可维护性与安全性,提出在构建阶段重新开始编码以避免原型缺陷。重点阐述了一次性软件的价值,包括在关键模块和设计阶段的应用案例,展示了其在加速学习、优化性能和降低成本方面的优势。最后,分析了实施工作流与一次性软件的协同作用,为提高软件开发效率和项目成功率提供了实用建议。 阅读详情

面向对象是怎样工作的-第 1 章 面向对象: 让软件开发变轻松的技术
面向对象最初是作为一种编程语言提出的,后来人们将其不断扩展,并应用到各个领域,如今将其称为“软件开发的综合技术”可能更为合适。
遗憾的是,尽管这是一门非常优秀的技术,但很多人好像都认为它非常难。本章我们将分析造成这种局面的原因。
1.1 面向对象是软件开发的综合技术
我们先从一个简单的问题开始介绍。
“为什么要基于面向对象来开发软件?”
不管谁问这样的问题,笔者都会这样回答: “为了轻松地开发软件。”
可能有的人听到“轻松”二字会感觉很意外。这是因为当提到面向对象时,不少人仍感觉“很难,难以对付”。
面向对象包含的技术几乎涵盖了从 Java、Python 等编程语言到需求规格说明书和设计内容的图形表示、可重用的软件构件群、优秀设计的技术窍门、业务分析和需求定义的有效推进方法、顺利推进系统开发的开发方法等软件开发的所有领域。
不过,这些技术单独来看是完全不同的。如果要找出它们的共同点,大概就是它们都是软件开发相关的技术,都是用来顺利推进软件开发的。
因此,如果用一句话来概括面向对象,那就是“能够轻松地进行较难的软件开发的综合技术”。
1.2 以对象为中心编写软件的开发方法
面向对象的英文是 Object Oriented,直译为“以对象为中心”。
在面向对象普及之前,主流的开发方法是“面向功能”的,具体地说,就是把握目标系统整体的功能,将其按阶段进行细化,分解为更小的部分。如果采用面向功能的开发方法来编写软件,当规格发生改变或者增加功能时,修改范围就会变得很广,软件也很难重用。
面向对象技术的目的是使软件的维护和重用变得更容易,其基本思想是重点关注各个构件,提高构件的独立性,将构件组合起来,实现系统整体的功能。通过提高构件的独立性,当发生修改时,能够使影响范围最小,在其他系统中也可以重用。
1.3 从编程语言演化为综合技术
面向对象最初是以编程语言的身份出现的,在之后的 40 多年里,经过不断发展,逐渐被应用到了开发的各个领域。这里我们来简单回顾一下面向对象的全貌和发展过程,如图 1-1 所示。
在这里插入图片描述
面向对象起源于 1967 年在挪威开发出来的 Simula 67 编程语言。该语言拥有类、多态和继承等以往的编程语言中没有的优良结构,被称为最早的面向对象编程(Object Oriented Programming language,OOPA)语言。后来,艾伦·凯率领的团队开发的 Smalltalk 沿用了该结构,确立了“面向对象” 的概念。此后,具有相同结构的 C++、Objective-C、Java、C#、Python 和Ruby 等诸多编程语言被开发出来,并延续至今。
OOP 使得大规模软件的可重用构件群的创建成为可能,这些构件群被称为类库或者框架。另外,创建可重用构件群时使用的固定的设计思想被提炼为设计模式。
另外,使用图形来表示利用 OOP 结构创建的软件结构的方法称为统一建模语言(Unified Modeling Language,UML)。在此基础上,还出现了将 OOP思想应用于上游工程的建模,以及用于顺利推进系统开发的敏捷开发。
如今,面向对象已经成为一门覆盖软件开发所有领域的综合技术。虽然这些技术所涉及的领域和内容并不相同,但目的都是顺利推进软件开发。因此,通过以各种形式灵活运用前人的研究和技术窍门,有助于我们提高软件的质量和开发效率。
1.4 面向对象难的原因
尽管面向对象是众多优秀技术的集大成,却经常被认为很难理解,难以对付。也有人认为不擅长抽象思考的人在学习面向对象时会感觉很难,要经过很多年才能掌握,等等。不管是多么方便的工具,如果很难理解其内涵,无法熟练使用,那就没有意义了。
关于面向对象被认为很难的原因,这里分为三点进行讲解。
1.5 原因之一:OOP 结构复杂
第一个原因是 OOP 结构很复杂。
面向对象之前的编程语言的结构都比较简单,只要掌握了运算符、全局变量、局部变量、条件分支、循环和子程序(或函数),基本上就可以理解这些编程语言的结构了。这些编程语言都是直接访问 CPU 和内存的结构,因此,我们想象一下计算机的动作就很容易理解它们。
而 OOP 中增加了许多结构,基本的结构就有类、实例、实例变量、方法、构造函数、继承、超类、子类、多态、包、异常和垃圾回收等(图 1-2),其中的许多结构很难让人想象其在计算机中的动作,因此,编程新手需要花费很长时间来理解并熟练使用所有的结构。
在这里插入图片描述
1.6 原因之二:滥用比喻引起混乱
第二个原因是使用比喻进行讲解容易引起混乱。比喻引起的混乱与其说是技术本身的问题,不如说是讲解方法的问题。OOP 结构经常被比作现实世界,像下面这样进行讲解(图 1-3)。
“动物是超类,哺乳类和鱼类是子类。既产卵又用乳汁哺乳幼仔的鸭嘴兽也就相当于爬虫类和哺乳类的多重继承。”
“人具有‘出生年月日’的属性。如果给小王这样具体的一个人发出 ‘请告诉我你的年龄’的消息,就会得到‘28 岁’的回答。”
“正如医院里的医生、护士和药剂师互相联系、协同工作一样,对象也是通过在计算机中互相发送消息来进行工作的。”
在这里插入图片描述
图1-3 对各种比喻感到混乱的开发者
这样的讲解会让人感到 OOP 结构很复杂,但是,如果只进行这样的讲解,那么就只有比喻能给人留下深刻的印象,而 OOP 在实际编程中的便利性就难以传达了。
1.7 原因之三:面向对象的概念是抽象的
第三个原因是面向对象的概念是抽象的。
正如第一个原因所说的那样,OOP 的结构十分复杂,而“以对象为中心”的概念十分简单,很容易理解。这个概念的应用范围很广,现实世界的人、组织、事件、计算机系统的功能、系统管理的信息和程序的构成要素等都可以说是对象(图 1-4)。
在这里插入图片描述
图1-4 把一切都当作对象
因此,这个概念除了应用于软件设计和编程之外,也开始应用于需求定义、业务分析和企划等上游工程。这是将面向对象的思想贯穿整个软件开发流程的开发方法,在面向对象开始普及的 20 世纪 90 年代,许多面向对象的分析和设计方法论被提出 A。另外,由于 OOP 结构与现实世界的情形非常相似,所以还出现了一种思想,认为可以使用面向对象来整理现实世界的情形,直接将现实世界表示为程序。
但是,这种思想中存在容易混淆的陷阱。虽然 OOP 结构与现实世界的情形有很多相似之处,但并不是完全相同。另外,现实世界的人们与计算机上的软件的工作范围在很多情况下是不一样的,因此,使用面向对象来整理人们的工作并直接表示为程序,这实际上是很难实现的。
现实世界的情形与 OOP 结构似是而非,具有哲学意味的面向对象的概念虽然很有魅力,但是会让人难以理解其实际情况,容易引起混乱。
1.8 重点讲解“是什么”和“为什么”
我们的目标是用清晰的逻辑向读者介绍面向对象所涉及的各项技术。不过,我并不会详细讲解 Java 等编程语言的语法和 UML 等各项技术的用法,而是重点讲解这些技术是什么(What),以及为什么需要这些技术(Why)。
考虑到前面介绍的面向对象难以理解的原因,本书将采取如下方针。
● 关于 OOP 结构,将基于编程语言的进化史详细介绍其优点
● 将最小限度地使用比喻进行讲解。在使用比喻的情况下,会明确其主旨
● 将编程的结构和“以对象为中心”来把握事物的思想作为不同的内容分开介绍
1.9 本专栏的构成
大致分为两部分来讲解面向对象,前半部分介绍编程技术,后半部分介绍从编程技术派生出来的应用技术(图 1-5)。
前半部分包括第 2 章到第 6 章的内容,这一部分将为大家介绍面向对象的编程技术的相关知识。首先在第 2 章指出现实世界和 OOP 结构是似是而非的,接着,在第 3 章回顾 OOP 之前的编程语言的历史之后,再介绍 OOP 的基本结构——类、多态和继承(第 4 章)。然后介绍 OOP 运行时的机制(第 5 章),以及OOP 的发展所带来的可重用构件群和设计模式这两种可重用技术(第 6 章)。
在这里插入图片描述
图 1-5 面向对象的全貌和本书的构成
后半部分包括第 7 章到第 11 章的内容,这一部分将为大家介绍面向对象的应用技术。我们将首先介绍 OOP 结构在应用于上游工程时化为表示集合论和职责分配的归纳整理法的现象(第 7 章)。接着介绍用图形表示软件功能的UML(第 8 章)、支持业务分析和需求定义的建模(第 9 章)、面向对象设计(第 10 章),以及与面向对象的普及共同发展的敏捷开发方法(第 11 章)。
之所以这样安排章节,是因为考虑到了逐个理解面向对象所涉及的各项技术时的步骤,而这也基本上符合面向对象演化的过程。
附章将对函数式语言进行介绍。除了面向对象之外,最近许多编程语言还支持函数式语言的结构,因此,我们将介绍函数式语言的基本结构和思想。
对本书结构的介绍就到此为止,下面我们将进入具体内容的学习。
笔者将从重新考虑“面向对象是直接将现实世界表示为软件的技术” 这一常见的说法开始讲起。接下来就让我们一起进入第 2 章吧!
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

[深入浅出面向对象分析与设计(中文版)].Mclaughlin.扫描版.pdf [深入浅出面向对象分析与设计(中文版)].Mclaughlin.扫描版.pdf.part2 [Head.First 深入浅出面向对象分析与设计(中文版)], 是Heaf First系列丛书之一,主要可以帮助你,怎么去面向对象,怎么去实现面向对象,怎么去抽象客观事物。 立即下载

相关推荐

漫谈设计模式:从面向对象开始(带书签扫描版).刘济华.pdf

模式引入计算机科学领域已经有20余年了,最初人们侧重于面向对象的设计,而现在已经应用于计算机领域的各个方面,它们对计算机产生了深远影响。若想一本书涵盖所有模式,那么这本书将会非常庞大,以前的设计模式书籍专注于介绍设计模式,虽然读者了解了这些设计模式,但是仍然不知道如何合理地使用它们,往往导致读者为了使用设计模式而设计,而不是从问题出发,使用设计模式优雅地解决这些问题。本书主要从最基本的设计模式入手,并结合一些J2EE开发过程经常遇见的技术和概念,你将全面理解这10多个设计模式,并在开发过程中,让你真正体会和思考面向对象编程的思想,也只有掌握这些,你才会能成为一位真正的设计专家。

关于《面向对象是怎样工作的》一书

面向对象是怎样工作的

m0_61551593的博客 937

面向对象的软件构造.pdf

Object technology is at its core the combination of four ideas: a structuring method, a reliability discipline, an epistemological principle and a classification technique.

面向对象是怎么工作的?

面向对象编程(Object-Oriented Programming,OOP)是一种程序设计范式,它将对象作为程序的基本单元。对象是程序中的实体,它有自己的状态和行为。 在面向对象编程中,对象由类定义。类是对象的模板,它定义了对象的属性和行为。每个对象都是类的一个实例。 类通常包含方法,这些方法定义了对象的行为。对象也有属性,这些属性定义了对象的状态。 面向对象编程的一个重要特征是继承。继承允许开...

weixin_35754962的博客 460

Head First Java 第2版 中文版.pdf

《HeadFirstJava》(中文版)(第2版)是本完整的面向对象(object-oriented,OO)程序设计和Java的学习指导。此书是根据学习理论所设计的,让你可以从学习程序语言的基础开始一直到包括线程、网络与分布式程序等项目。最重要的,你会学会如何像个面向对象开发者一样去思考。 而且不只是读死书,你还会玩游戏、拼图、解谜题以及以意想不到的方式与Java交互。在这些活动中,你会写出一堆真正的Java程序,包括了一个船舰炮战游戏和一个网络聊天程序。 有趣生动,引领读者从人性的角度学习编程,以及编程的思想。 需要动手实践去理解其中篇幅较长的代码。

写给大家看的面向对象编程书(第3版).[美]Matt Weisfeld(带详细书签).pdf

  本书是一部独具特色的面向对象技术著作。书中结合代码示例生动透彻地讲述了面向对象思想的精髓,让读者真正学会以对象方式进行思考。此外,本书还讨论了各种与面向对象概念密切相关的应用主题,包括XML、UML建模语言、持久存储、分布式计算和客户/服务器技术等。   本书内容精炼,示例简单明了,适合各层次面向对象开发人员阅读,也是高校相关专业面向对象课程的理想教学参考书。 第1章 面向对象概念介绍 1 1.1 过程式程序设计与OO程序设计 2 1.2 从过程式开发转向面向对象开发 4 1.2.1 过程式程序设计 5 1.2.2 OO程序设计 5 1.3 对象到底是什么 5 1.3.1 对象数据 5 1.3.2 对象行为 6 1.4 类到底是什么 9 1.4.1 类是对象模板 9 1.4.2 属性 11 1.4.3 方法 11 1.4.4 消息 11 1.5 使用UML完成类图建模 12 1.6 封装和数据隐藏 12 1.6.1 接口 12 1.6.2 实现 13 1.6.3 接口/实现范型的一个实际例子 13 1.6.4 接口/实现范型的模型 14 1.7 继承 15 1.7.1 超类和子类 16 1.7.2 抽象 16 1.7.3 is-a关系 17 1.8 多态 18 1.9 组合 20 1.9.1 抽象 21 1.9.2 has-a关系 21 1.10 小结 21 1.11 本章使用的示例代码 21 1.11.1 TestPerson示例:C#.NET 21 1.11.2 TestPerson示例:VB.NET 22 1.11.3 TestShape示例:C#.NET 23 1.11.4 TestShape示例:VB.NET 25 第2章 如何以对象方式思考 27 2.1 了解接口与实现之间的区别 28 2.1.1 接口 29 2.1.2 实现 29 2.1.3 接口/实现示例 29 2.2 设计接口时使用抽象思维 33 2.3 尽可能为用户提供最小接口 35 2.3.1 确定用户 35 2.3.2 对象行为 36 2.3.3 环境约束 36 2.3.4 明确公共接口 36 2.3.5 明确实现 37 2.4 小结 37 2.5 参考书目 38 第3章 高级面向对象概念 39 3.1 构造函数 39 3.1.1 何时调用构造函数 39 3.1.2 构造函数中有什么 40 3.1.3 默认构造函数 40 3.1.4 使用多个构造函数 41 3.1.5 构造函数的设计 44 3.2 错误处理 44 3.2.1 忽略问题 45 3.2.2 检查问题并中止应用 45 3.2.3 检查问题并尝试恢复 45 3.2.4 抛出异常 45 3.3 作用域概念 47 3.3.1 局部属性 48 3.3.2 对象属性 49 3.3.3 类属性 50 3.4 操作符重载 51 3.5 多重继承 52 3.6 对象操作 53 3.7 小结 54 3.8 参考书目 54 3.9 本章使用的示例代码 54 3.9.1 TestNumber示例:C#.NET 54 3.9.2 TestNumber示例:VB.NET 55 第4章 类剖析 57 4.1 类名 57 4.2 注释 58 4.3 属性 59 4.4 构造函数 60 4.5 访问方法 62 4.6 公共接口方法 63 4.7 私有实现方法 64 4.8 小结 64 4.9 参考书目 64 4.10 本章使用的示例代码 65 4.10.1 TestCab示例:C#.NET 65 4.10.2 TestCab示例:VB.NET 66 第5章 类设计指导原则 68 5.1 真实世界系统建模 68 5.2 明确公共接口 69 5.2.1 最小公共接口 69 5.2.2 隐藏实现 69 5.3 设计健壮的构造函数(和析构函数) 70 5.4 在类中设计错误处理 70 5.4.1 对类建立文档以及使用注释 71 5.4.2 构建类要以合作为出发点 71 5.5 设计时充分考虑重用 72 5.6 设计时充分考虑到可扩展性 72 5.6.1 名字要有描述性 72 5.6.2 抽出不可移植的代码 72 5.6.3 提供一种复制和比较对象的方法 73 5.6.4 让作用域尽可能小 73 5.6.5 类应当对自己负责 74 5.7 设计时充分考虑可维护性 75 5.7.1 使用迭代 76 5.7.2 测试接口 76 5.8 使用对象持久性 78 5.9 小结 79 5.10 参考书目 79 5.11 本章使用的示例代码 79 5.11.1 TestMath示例:C#.NET 79 5.11.2 TestMath示例:VB.NET 80 第6章 利用对象实现设计 81 6.1 设计指导原则 81 6.1.1 完成适当的分析 84 6.1.2 建立工作陈述 84 6.1.3 收集需求 84 6.1.4 开发用户界面的原型 85 6.1.5 明确类 85 6.1.6 确定各个类的职责 85 6.1.7 确定类如何相互合作 85 6.1.8 创建类模型来描述系统 85 6.2 案例研究:blackjack示例 86 6.2.1 使用CRC卡 87 6.2.2 明确blackjack类 88 6.2.3 明确类的职责 90 6.2.4 UML用例:明确协作关系 95 6.2.5 第一轮CRC卡 98 6.2.6 UML类图:对象模型 99 6.2.7 建立用户界面原型 100 6.3 小结 101 6.4 参考书目 101 第7章 掌握继承和组合 102 7.1 重用对象 102 7.2 继承 103 7.2.1 一般化和特殊化 105 7.2.2 设计决策 105 7.3 组合 107 7.4 为什么封装在OO中如此重要 109 7.4.1 继承如何削弱封装 109 7.4.2 多态的一个详细例子 111 7.4.3 对象职责 111 7.5 小结 115 7.6 参考书目 115 7.7 本章使用的示例代码 115 7.7.1 TestShape示例:C#.NET 115 7.7.2 TestShape示例:VB.NET 117 第8章 框架与重用:使用接口和抽象类实现设计 119 8.1 代码:重用还是不重用 119 8.2 什么是框架 119 8.3 什么是契约 121 8.3.1 抽象类 122 8.3.2 接口 124 8.3.3 集成 125 8.3.4 编译器的证明 127 8.3.5 建立契约 128 8.3.6 系统插入点 130 8.4 一个电子商务例子 130 8.4.1 电子商务问题 130 8.4.2 非重用的方法 131 8.4.3 一个电子商务解决方案 133 8.4.4 UML对象模型 133 8.5 小结 137 8.6 参考书目 137 8.7 本章使用的示例代码 138 8.7.1 TestShape示例:C#.NET 138 8.7.2 TestShape示例:VB.NET 140 第9章 构建对象 143 9.1 组合关系 143 9.2 分阶段构建 144 9.3 不同类型的组合 146 9.3.1 聚集 146 9.3.2 关联 146 9.3.3 结合使用关联和聚集 148 9.4 避免依赖性 148 9.5 基数 149 9.5.1 多个对象关联 151 9.5.2 可选关联 151 9.6 集成示例 152 9.7 小结 152 9.8 参考书目 153 第10章 用UML创建对象模型 154 10.1 什么是UML 154 10.2 类图的结构 155 10.3 属性和方法 156 10.3.1 属性 156 10.3.2 方法 157 10.4 访问指示 157 10.5 继承 158 10.6 接口 159 10.7 组合 160 10.7.1 聚集 160 10.7.2 关联 161 10.8 基数 161 10.9 小结 162 10.10 参考书目 163 第11章 对象和可移植数据:XML 164 11.1 可移植数据 164 11.2 XML 165 11.3 XML与HTML 166 11.4 XML和面向对象语言 166 11.5 两个公司间共享数据 167 11.6 用DTD验证文档 168 11.7 将DTD集成到XML文档 170 11.8 使用层叠样式表 175 11.9 小结 177 11.10 参考书目 177 第12章 持久对象:串行化和关系数据库 178 12.1 持久对象基础 178 12.2 将对象保存到平面文件 179 12.2.1 串行化文件 180 12.2.2 再谈实现和接口 182 12.2.3 方法如何保存 183 12.3 串行化过程中使用XML 183 12.4 写到关系数据库 186 12.5 加载驱动程序 189 12.5.1 建立连接 189 12.5.2 SQL语句 190 12.6 小结 192 12.7 参考书目 192 12.8 本章使用的示例代码 192 12.8.1 Person类示例:C#.NET 193 12.8.2 Person类示例:VB.NET 195 第13章 对象与因特网 197 13.1 分布式计算的演进 197 13.2 基于对象的脚本语言 197 13.3 JavaScript验证示例 200 13.4 Web页面中的对象 202 13.4.1 JavaScript对象 202 13.4.2 Web页面控件 204 13.4.3 声音播放器 205 13.4.4 电影播放器 205 13.4.5 Flash 206 13.5 分布式对象和企业 206 13.5.1 公共对象请求代理体系结构(CORBA) 207 13.5.2 Web服务定义 210 13.5.3 Web服务代码 213 13.5.4 Invoice.cs 214 13.5.5 Invoice.vb 215 13.6 小结 216 13.7 参考书目 216 第14章 对象和客户/服务器应用 217 14.1 客户/服务器方法 217 14.2 专有方法 217 14.2.1 串行化对象代码 218 14.2.2 客户代码 218 14.2.3 服务器代码 220 14.2.4 运行专有的客户/服务器示例 222 14.3 非专有方法 223 14.3.1 对象定义代码 223 14.3.2 客户代码 224 14.3.3 服务器代码 225 14.3.4 运行非专有的客户/服务器示例 227 14.4 小结 228 14.5 参考书目 228 14.6 本章使用的示例代码 228 14.6.1 客户/服务器示例——VB.NET:对象定义代码 228 14.6.2 客户/服务器示例——VB.NET:客户代码 229 14.6.3 客户/服务器示例——VB.NET:服务器代码 230 第15章 设计模式 232 15.1 为什么研究设计模式 232 15.2 Smalltalk的模型/视图/控制器 233 15.3 设计模式的不同类型 234 15.3.1 创建型模式 235 15.3.2 结构型模式 239 15.3.3 行为型模式 241 15.4 反模式 242 15.5 小结 243 15.6 参考书目 243 15.7 本章使用的示例代码 243 15.7.1 C#.NET 244 15.7.2 VB.NET 247 索引 250

《面向对象是怎样工作的》读书笔记

我对象可好了,象对我也很好。

weixin_45813589的博客 3530

无感健康监测的未来:毫米波雷达如何重新定义睡眠科技与居家养老

毫米波雷达技术正重新定义无感健康监测,特别是在睡眠科技与居家养老领域。通过精准监测呼吸、心率和体动,无需穿戴设备即可实现临床级精度。结合合宙Air700E开发板,构建了完整的远程看护解决方案,为老年人提供跌倒检测、异常报警等安全保障,同时保护用户隐私。

cake8的博客 568

面向对象笔记

面向对象 编程思想 1.编程语言的思想分类 面向过程的编程语言:c语言 面向对象的编程语言:Java,C++,C# 2.两种编程思想的定义 面向过程的编程思想:仅知道一件事情怎样去做,每一步怎么做,不关心这件事谁在做。 面向对象的编程思想:不仅仅知道一件事怎么去做,更关心这件事谁在做。 注意:面向对象的编程思想和面向过程的编程思想并不是对立关系,面向对象的编程思想包含面向过程的编程思想。 面向对象的编程思想 1.名词普及: 类(Class):具有相同描述

Tony_ironman的博客 573

ROS2+PYTHON VENV虚拟环境配置方法

ROS2+PYTHON VENV配置方法本篇针对的是python。

下雨夏云的博客 557

5G 网络的移动性管理上下文对比介绍

5G 网络的移动性管理上下文对比介绍 4G/5G MM移动性管理机制对比 5G引入了新移动性管理状态,通过mobility pattern(移动方式)实现按需的移动性管理等。 MM的相关状态分为一下几种: RM状态(用户注册管理 注册态/非注册态)和CM状态(用户连接态/空闲态)独立;RM状态标识UE是否注册到网络,CM状态标识UE和核心网的信令连接是否存在。 RAN侧引入RRC-inactive state:UE(用户端)对于CN(核心网)而言处于连接态,对RAN(接入网)而言处于Ld..

m0_59032675的博客 4823

面向对象是怎样工作的-终极浓缩篇

面向对象编程核心概念精要 面向对象编程(OOP)通过封装、继承和多态三大特性,将数据与操作封装在对象中,提升代码复用性和可维护性。类作为对象模板,支持数据汇总、信息隐藏和实例化;继承实现代码复用;多态允许不同对象响应相同消息。OOP从结构化编程演进而来,通过消除全局变量等痛点,提供了更高效的软件开发范式。关键实现技术包括UML建模、设计模式和敏捷开发,核心思维是将现实问题抽象为对象交互。掌握类/实例关系、消息传递机制和内存管理策略是运用OOP的基础。

andyyah晓波的博客 965

【FPGA】Robei EDA 的使用(7)—— Robei文件上板试验

#沐朝露兮以自华,觅大道兮以求成 我又滚过来了,研究了20多天RISCV,结果最后因为硬件问题导致无法在比赛中使用RISCV CPU,虽然已经临近比赛后期了,非常的崩溃,但是也没有什么办法。唉,一切不过是从头再来罢了。(写写博客舒缓我心中苦闷) ————————————————进入正文的分割线———————————————— 今天介绍一下如何利用 Robei EDA 生成文件,导入vivado中,综合下载到开发板里。拿我一个PWM控制舵机的代码为例。 Robei EDA设置 假设代码模块(model文件)经

Ninquelote的博客 2564

《面向对象是怎样工作的》笔记

16、在推进软件开发时,需要进行如下三个阶段的工作:1)业务分析:整理现实世界的工作的推进方法,在此阶段,需要整理好如何对现实世界中的工作进行职责分配,以及如何推进工工作。14、活动图经常被用来表示现实世界的业务流程,虽然现实世界的工作流程也可以通过时序图和通信图来表示,但在分析实际的工作情况时,相比于人物的职责分配,理解整体流程可能更为重要。7、计算机的工作并不只是执行机器语言的命令,还有读写硬盘、使用打印机打印、与其他联网的计算机进行通信、等待来自键盘和鼠标的输入等等,需要与外部进行很多交互。

qq_15054345的博客 1024

TOGAF架构内容—TOGAF 内容框架和企业元模型

TOGAF架构内容—TOGAF 内容框架和企业元模型

深圳市多克创新科技有限公司 1664

Vins-Fusion 外参camera-imu 标定

Vins-Fusion是一种基于优化的多传感器状态估计器,一大特色是支持实时camera-imu外参校准(相机和IMU之间的旋转)。Vins-Fusion 外参camera-imu校准是利用两帧间计算相机位姿和imu预积分得到位姿,构建最小二乘问题,并通过SVD求解camera-imu外参旋转矩阵。

u010196944的博客 2490

面向对象可复用技术:类库、框架与设计模式

可复用技术 自从软件开发成为一项严谨的职业以来,程序员们都在寻找轻松工作编写完美代码的方法。可惜的是,Brooks博士在他的名著《人月神话》中,就论述了软件本身所具有的复杂性,这个世界上没有能够一劳永逸的银弹。 但现实却是,我们的工作和生活需要越来越多的软件来支撑。所以为了减少软件开发的工作量,降低系统隐藏的bug量,有许多理论被提出以解决这一问题。 可复用技术可以说是非常直观的想法,这来源于人们在其他工程领域的经验。例如在制造业、建筑工程中,大量的基础部件都是标准的通用件。 那么软件是不是也可以由一组标准

一天一点进步 1271

在线考试题库抓取:Python 爬虫抓取各类在线考试平台题库和试题

通过这些技术,您可以抓取各类在线考试平台上的题库数据,进行数据分析、生成练习题集,甚至用于考试准备。为了演示抓取过程,本篇博客选择了两个常见的在线考试平台进行数据抓取:一个是教育考试平台(如“中小学题库”),另一个是职业考试平台(如“华图教育”)。对于这些网站,我们需要找到包含题库信息的页面,并分析每一页的 HTML 结构,从而定位到题目、选项、答案等数据。大多数在线考试平台的题库是分页显示的,因此我们需要遍历多个页面,抓取所有的题库数据。因此,我们需要设置合适的请求头来模拟真实的浏览器请求。

2201_76125261的博客 3445

我心中的十大信息化软件开发技术

我心中的十大信息化软件开发技术        这是我2010年发表的第一篇博文,算是对我这十年所用软件开发技术的一些总结吧。由于个人知识有限,希望与大家共同讨论,讨论的主题可以是所列技术的分析,其它前沿技术的分析等等。 注:1、主题是开发领域,不包括UML等建模设计技术、测试技术等等;2、主要是信息化软件开发技术,不包括互联网、游戏及嵌入式开发等领域;3、所列技术目前还是主

MKing's Blog 6942

Windows部署小龙虾 OpenClaw 报错不断?参考这篇文章,轻松配置 OpenClaw 所需环境

想在Windows上部署OpenClaw却频频报错?🔧 本文详细梳理了OpenClaw部署必需环境的安装步骤和官方下载地址 📦,提供完整的验证清单和常见问题排查方法,帮你一次性搞定所有环境配置,顺利部署OpenClaw ✅

XiaoqiangClub的博客 363

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

面向对象是怎样工作的-.第 3 章 理解 OOP: 编程语言的历史

本章回顾了编程语言的演变历史,从机器语言到汇编语言,再到高级语言和结构化语言,最终引出面向对象编程(OOP)的必然性。机器语言是计算机直接执行的二进制指令,难以理解和编写。汇编语言通过符号化机器语言,使编程更易理解,但仍需逐条指令编写。高级语言如FORTRAN和COBOL进一步简化编程,使程序更接近人类语言,提升效率和可读性。然而,随着软件需求的激增,结构化编程应运而生,强调程序结构的清晰性和可维护性,废除GOTO语句,提倡使用循序、选择和重复三种基本结构。结构化语言如C语言进一步支持局部变量和按值传递,减

andyyah晓波的博客 1020

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

设计模式 可复用面向对象软件的基础_面向对象可复用技术:类库、框架与设计模式...

可复用技术自从软件开发成为一项严谨的职业以来,程序员们都在寻找轻松工作编写完美代码的方法。可惜的是,Brooks博士在他的名著《人月神话》中,就论述了软件本身所具有的复杂性,这个世界上没有能够一劳永逸的银弹。但现实却是,我们的工作和生活需要越来越多的软件来支撑。所以为了减少软件开发的工作量,降低系统隐藏的bug量,有许多理论和方法被提出以解决这一问题。可复用技术可以说是非常直观的想法,这来源于人们...

weixin_39789525的博客 311

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

上一篇: 计算机是怎样跑起来的-第6章 与数据结构成为好朋友的七个要点
下一篇: 面向对象是怎样工作的-.第 2 章 似是而非: 面向对象与现实世界
andyyah晓波
博客等级 码龄7年 3368粉丝 454原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值