1 / 433
文档名称:

【清晰】C++编程思想.pdf.pdf

格式:pdf   页数:433
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

【清晰】C++编程思想.pdf.pdf

上传人:zbggqyk171 2016/6/15 文件大小:0 KB

下载得到文件列表

【清晰】C++编程思想.pdf.pdf

文档介绍

文档介绍:下载第1章对象的演化计算机革命起源于一台机器,程序设计语言也源于一台机器。然而计算机并不仅仅是一台机器,它是心智放大器和另一种有表述能力的媒体。这一点使它不很像机器,而更像我们大脑的一部分,更像其他有表述能力的手段,例如写作、绘画、雕刻、动画制作或电影制作。面向对象的程序设计是计算机向有表述能力的媒体发展中的一部分。本章将介绍面向对象程序设计(O O P)的基本概念,然后讨论O O P开发方法,最后介绍使程序员、项目和公司使用面向对象程序设计方法而采用的策略。本章是一些背景材料,如果读者急于学习这门语言的具体内容,可以跳到第2章,然后再回过头来学习本章。 基本概念 C + +包含了比面向对象程序设计基本概念更多的内容,读者应当在学习设计和开发程序之前先理解该语言所包含的基本概念。 对象:特性+行为第一个面向对象的程序设计语言是6 0年代开发的S i m u l a - 6 7。其目的是为了解决模拟问题。典型的模拟问题是银行出纳业务,包括出纳部门、顾客、业务、货币的单位等大量的“对象”。把那些在程序执行期间除了状态之外其他方面都一样的对象归在一起,构成对象的“类”,这就是“类”一词的来源。类描述了一组有相同特性(数据元素)和相同行为(函数)的对象。类实际上就是数据类型,例如,浮点数也有一组特性和行为。区别在于程序员定义类是为了与具体问题相适应,而不是被迫使用已存在的数据类型。这些已存在的数据类型的设计动机仅仅是为了描述机器的存储单元。程序员可以通过增添他所需要的新数据类型来扩展这个程序设计语言。该程序设计系统欢迎创建、关注新的类,对它们进行与内部类型一样的类型检查。这种方法并不限于去模拟具体问题。尽管不是所有的人都同意,但大部分人相信,任何程序都模拟所设计系统。O O P技术能很容易地将大量问题归纳成为一个简单的解,这一发现产生了大量的O O P语言,其中最著名的是S m a l l t a l k— C++ 之前最成功的O O P语言。抽象数据类型的创建是面向对象程序设计中的一个基本概念。抽象数据类型几乎能像内部类型一样准确工作。程序员可以创建类型的变量(在面向对象程序设计中称为“对象”或“实例”) 并操纵这些变量(称为发送“消息”或“请求”,对象根据发来的消息知道需要做什么事情)。 继承:类型关系类型不仅仅说明一组对象上的约束,还说明与其他类型之间的关系。两个类型可以有共同的特性和行为,但是,一个类型可能包括比另一个类型更多的特性,也可以处理更多的消息[1] 这一描述部分引自我对《The Tao of Objects》(Gary Entsminger著)一书的介绍。(或对消息进行不同的处理)。继承表示了基本类型和派生类型之间的相似性。一个基本类型具有所有由它派生出来的类型所共有的特性和行为。程序员创建一个基本类型以描述系统中一些对象的思想核心。由这个基本类型派生出其他类型,表达了认识该核心的不同途径。例如,垃圾再生机要对垃圾进行分类。这里基本类型是“垃圾”,每件垃圾有重量、价值等等,并且可以被破碎、融化或分解。这样,可以派生出更特殊的垃圾类型,它们可以有另外的特性(瓶子有颜色)或行为(铝可以被压碎,钢可以被磁化)。另外,有些行为可以不同(纸的价值取决于它的种类和状态)。程序员可以用继承建立类的层次结构,在该层次结构中用类型术语来表述他需要解决的问题。第二个例子是经典的形体问题,可以用于计算机辅助设计系统或游戏模拟中。这里基本类型是“形体”,每个形体有大小、颜色、位置等。每个形体能被绘制、擦除、移动、着色等。由此,可以派生出特殊类型的形体:圆、正方形、三角形等,它们中的每一个都有另外的特性和行为,例如,某些形体可以翻转。有些行为可以不同(计算形体的面积)。类型层次结构既体现了形体间的类似,又体现了它们之间的区别。用与问题相同的术语描述问题的解是非常有益的,这样,从问题描述到解的描述之间就不需要很多中间模型(程序语言解决大型问题,就需要中间模型)。面向对象之前的语言,描述问题的解不可避免地要用计算机术语。使用对象术语,类型层次结构是主要模型,所以可以从现实世界中的系统描述直接进入代码中的系统描述。实际上,使用面向对象设计,人们的困难之一是从开始到结束过于简单。一个已经习惯于寻找复杂解的、训练有素的头脑,往往会被问题的简单性难住。 多态性当处理类型层次结构时,程序员常常希望不把对象看作是某一特殊类型的成员,而把它看作基本类型成员,这样就可以编写不依赖于特殊类型的代码。在形体例子中,函数可以对一般形体进行操作,而不关心它们是圆、正方形还是三角形。所有的形体都能被绘制、擦除和移动, 所以这些函数能简单地发送消息给一个形体对象,而不考虑这个对象如何处理这个消息。这样,新添类

最近更新

2026中级会计三科高频题库100道及参考答案【基.. 52页

2026云南省面向中国药科大学选调优秀毕业生笔.. 37页

2026内蒙古自治区到吉林大学定向选调(选聘).. 36页

2026厦门银行三明分行社会招聘参考题库必考题.. 51页

2026年c语言考试题库100道及完整答案(夺冠系.. 46页

2026年《研学旅行概论》期末测试题及参考答案.. 38页

2026年廉政纪律知识测试题(全国通用) 14页

2026年交管12123学法减分复习考试题库附答案(.. 23页

2026年揭阳市检察机关公开招聘劳动合同制书记.. 44页

2026年文明礼仪知识竞赛奥运医护常识试卷100道.. 41页

2026年党规知识案例测试题精编答案 18页

2026年枣庄职业学院单招综合素质考试题库附答.. 43页

2026年河北工艺美术职业学院单招职业技能考试.. 44页

2026年卧底笔试题库100道附答案(培优) 40页

2026年注册税务师考试题库带答案(培优b卷) 46页

2026年注册造价工程师考试题库200道及答案(名.. 86页

2026年消毒技术题库【各地真题】 39页

2026年湖北黄冈应急管理职业技术学院单招职业.. 45页

2026年国家公务员考试题库500道及答案(有一套.. 290页

2026年国开电大城市管理学形考题库100道附参考.. 39页

2026年纪委廉政知识测试题(研优卷) 14页

2026年自考专业(会计)考试题库200道含答案(精.. 83页

2026年学生宪法知识测试题(研优卷) 14页

2026年安全员考试题库300道完美版 84页

2026年贵州大学c语言期末试题(黄金题型) 13页

2026年起重机司机考试题库200道含答案【精练】.. 76页

2026年安徽城市管理职业学院单招职业适应性考.. 37页

2025年湖南省建设工程工程量清单计价办法(新).. 51页

六年级英语上册第一单元测试题-(含答案) 9页

喝酒给老婆的检讨书 6页