1 / 519
文档名称:

上海交大C++课件10-16.ppt

格式:ppt   大小:2,171KB   页数:519页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

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

分享

预览

上海交大C++课件10-16.ppt

上传人:w447750 2017/10/13 文件大小:2.12 MB

下载得到文件列表

上海交大C++课件10-16.ppt

相关文档

文档介绍

文档介绍:C++程序设计
第10章创建功能更强的类型
从面向过程到面向对象
类的定义
对象的使用
对象的构造与析构
常量对象与const成员函数
常量数据成员
静态数据成员与静态成员函数
友元
从面向过程到面向对象
抽象的过程
面向对象的程序设计的特点
库和类
抽象的过程
计算机的工作是建立在抽象的基础上。
机器语言和汇编语言是对机器硬件的抽象
高级语言是对汇编语言和机器语言的抽象
现有抽象的问题:
要求程序员按计算机的结构去思考,而不是按要解决的问题的结构去思考。
当程序员要解决一个问题时,必须要在机器模型和实际要解决的问题模型之间建立联系。
而计算机的结构本质上还是为了支持计算,当要解决一些非计算问题时,这个联系的建立是很困难的
面向对象的程序设计
为程序员提供了创建工具的功能
解决一个问题时
程序员首先考虑的是需要哪些工具
创建这些工具
用这些工具解决问题
工具就是所谓的对象
现有的高级语言提供的工具都是数值计算的工具
过程化vs面向对象
过程化的设计方法:从功能和过程着手
输入圆的半径或直径
利用S=πr2和C=2πr计算面积和周长
输出计算结果
面向对象的程序设计方法:
需要什么工具。如果计算机能提供给我们一个称为圆的工具,它可以以某种方式保存一个圆,告诉我们有关这个圆的一些特性,如它的半径、直径、面积和周长。
定义一个圆类型的变量,以他提供的方式将一个圆保存在该变量中,然后让这个变量告诉我们这个圆的面积和周长是多少
以计算圆的面积和周长的问题为例
面向对象的程序设计的特点
代码重用:圆类型也可以被那些也需要处理圆的其他程序员使用
实现隐藏:
类的创建者创造新的工具
类的使用者则收集已有的工具快速解决所需解决的问题
这些工具是如何实现的,类的使用者不需要知道
面向对象的程序设计的特点
继承:在已有工具的基础上加以扩展,形成一个功能更强的工具。如在学校管理系统中,可以形成如下的继承关系

教师
学生
教辅
高级
中级
初级
本科
硕士
博士
实验室
行政
面向对象的程序设计的特点
多态性:
当处理层次结构的类型时,程序员往往想把各个层次的对象都看成是基类成员。
如需要对教师进行考核,不必管他是什么职称,只要向所有教师发一个考核指令。每位教师自会按照自己的类型作出相应的处理。如高级职称的教师会按高级职称的标准进行考核,初级职称的教师会按初级职称的标准进行考核。
好处:程序代码就可以不受新增类型的影响。如增加一个院士的类型,它也是教师类的一个子类,整个程序不用修改,但功能得到了扩展。