出版时间:2010-9 出版社:北京邮电大学出版社 作者:黄平牧,肖波 编著 页数:211
前言
C++语言是目前工程领域方面应用最广泛的编程语言,面向对象的方法是21世纪主流软件设计方法,两者的结合无疑具有强大的生命力。在信息、通信、计算机等学科的工程应用领域,无论是软件开发还是硬件设计,它们都发挥着巨大的作用。 C++程序设计基础是信息工程及相关专业的重要专业基础课,它其实是C程序设计课程的延伸。C程序设计介绍的是结构化程序设计方法和指针的概念,而C++程序设计基础重点介绍面向对象的方法和C++语言对其相关概念的描述及其实现,两门课程在内容上不应出现重叠。本书就是遵循这样的思路编写的。 面向对象方法实际上是一种软件系统的分析、设计和实现方法,所对应的概念依次是面向对象分析、设计和编码,它是一种围绕真实世界的概念来组织模型的全新思维方法,程序设计过程和人的思维方式一致,开发出的软件的可重用性、可维护性好。 面向对象方法和C++语言所包含的内容丰富、概念抽象,学习的难度比较大,本书尽量做到深入浅出。在内容选择上不仅全面、细致,而且能突出重要的知识点,从内容到用例的选择上都经过了精心挑选。撰写本书的目的在于它能帮助读者很好地理解和较全面地掌握面向对象的方法和c++语言,并能用之于实际的软件开发。本书作者长期从事C++程序设计及相关课程的教学工作,在本书的写作过程中注重知识点的把握,内容的衔接和实际的应用。在内容的陈述上,尽量做到详细、全面,又不失简洁。
内容概要
本书较全面、细致地介绍面向对象的方法和C++语言。在内容的安排上,被分成面向对象的编程语言以及面向对象的分析和设计两个部分。 在面向对象编程语言部分,主要介绍C++语言的相关知识,包括:对象的封装方法,代码复用技术,多态的应用,泛型编程,异常处理机制,输入输出操作等。 在面向对象的分析和设计部分,首先介绍如何从陈述需求开始,构建三个分析模型(对象模型、动态模型和功能模型),然后阐述怎样对这三个模型进行扩充,以完成面向对象的设计过程。 为了使读者能较好地理解和掌握本书的内容,各章末尾均配备了练习题。本书可供高等院校信息、通信、计算机等专业的师生使用,也可作为广大应用计算机人员的重要参考书。
书籍目录
第1章 绪论 1.1 软件业历史和程序设计方法 1.1.1 软件业历史 1.1.2 程序设计方法 1.2 面向对象的基本概念 1.2.1 什么是面向对象 1.2.2 对象和对象的模型化 1.2.3 对象的抽象与类 1.2.4 消息 1.2.5 类之间的关系 1.2.6 多态性 1.3 面向对象的软件开发 1.3.1 面向对象的分析和设计 1.3.2 面向对象的开发语言 1.3.3 面向对象的开发工具 习题第2章 C++基础 2.1 新规定和新概念 2.1.1 C++程序的组织 2.1.2 程序的注释 2.1.3 变量定义 2.1.4 C++中的常量 2.1.5 引用类型 2.2 新的运算符 2.2.1 输入和输出运算符 2.2.2 作用域运算符 2.2.3 new和delete运算符 2.3 函数的新变化 2.3.1 函数声明和定义 2.3.2 内联函数(inline函数) 2.4 其他 2.4.1 枚举类型 2.4.2 强制类型转换 2.4.3 void类型 习题第3章 类和对象 3.1 面向对象程序设计的基本特点 3.1.1 抽象 3.1.2 封装和信息隐藏 3.1.3 继承和多态 3.2 类和对象 3.2.1 类的声明和定义 3.2.2 类成员的访问控制 3.2.3 类的成员函数 3.2.4 对象 3.2.5 应用举例 3.3 构造函数和析构函数 3.3.1 构造函数 3.3.2 析构函数 3.4 对象初始化 3.4.1 对象初始化 3.4.2 对象数组初始化 3.5 对象成员 3.5.1 初始化表 3.5.2 应用举例 3.6 静态成员 3.6.1 问题提出 3.6.2 静态成员 3.6.3 应用举例 3.7 友元 3.7.1 友元是外部函数 3.7.2 友元是类成员函数 3.7.3 友类 3.8 常量成员 3.8.1 常量成员的声明 3.8.2 应用举例 3.9 对象指针 3.9.1 this指针 3.9.2 成员函数指针 习题第4章 函数重载和运算符重载 4.1 多态性概述 4.2 函数重载 4.3 运算符重载 4.4 赋值运算和拷贝策略 4.4.1 赋值运算和拷贝策略 4.4.2 类聚合中的拷贝构造函数和赋值运算 4.5 特殊运算符重载 4.5.1 运算符“++”和“--” 4.5.2 下标运算符“[]’, 4.5.3 函数调用运算符“()” 4.5.4 提取/插入运算符“>>”和“
章节摘录
对象是数据和操作的封装体,数据是对对象属性的描述,操作是对象所能提供的服务。为了建立完整的对象模型,既要确定类中应该定义的属性,又要确定类中应该定义的操作(服务)。在建立了动态模型和功能模型之后,可以最终确定类中应有的服务,因为这两个模型已明确地描述了每个类中应该提供的服务。事实上,在确定类中应有服务的时候,既要考虑该类对象的常规行为,又要考虑有特殊需要的操作。 1.常规行为 在分析阶段可以认为,类中定义的每个属性都是可以访问的。也就是说,假设在每个类中都定义了读、写每个属性的操作,但是通常无须在对象图中显式表示这些常规操作。 2.从事件导出的操作 状态图中发往对象的事件也就是该对象接收到的消息,因此该对象必须有由消息选择符指定的操作,这个操作修改对象的状态(属性值)并启动相应的服务。例如,在ATM系统中,发往ATM对象的事件“中止”,启动该对象的事务“打印账单”;发往分行的事件“请求分行验卡”,启动该对象的服务“验证卡号”;事件“请求分行处理事务”,启动分行对象的服务“更新账户”。可以看出,所启动的这些服务通常就是接受事件的对象在相应状态上的行为。 3.与数据流图中处理框对应的操作 数据流图中的每个处理框都与一个对象(也可能是若干个对象)上的操作相对应。应该仔细对照状态图和数据流图,以便更正确地确定对象应该提供的服务。例如,在ATM系统中,从状态图上可以看出分行对象应该提供“验证卡号”服务,而在数据流图上与之对应的处理框是“验卡”,根据实际应该完成的功能看,该对象提供的这个服务应该是“验卡”。
图书封面
评论、评分、阅读与下载