基于C++的面向对象编程教程.ppt
文本预览下载声明
Dr. Haiin Zhu 基于C++的面向对象编程教程 于芹芬 2003年春 关于课程(1) 目标 进一步学会面向过程编程 理解面向对象思想 以对象的方式思考 熟悉C++ (P) 利用 C++编程 在本课程中: C++ 是一个学习面向对象概念的工具 运用面向对象模式进行程序设计 采用面向对象方法的效果 (OOA/OOD) 可维护性 可扩展性 可靠性 如何实现课程目标 阅读和记忆 阅读书籍, 记住语言特点 思考 以对象和类的方式思考 实践 多编程 参考课本 C++程序设计教程(钱能),清华大学出版社 C++程序设计教程,H.M.Deitel, P.J.Deitel著,机械工业出版社 C++大学教程(第二版),Harveay M. Deitel著,电子工业出版社? C++ Primer(第三版),Stanley B.lippman Josee Lajoie著,中国电力出版社 C++编程思想(Thinking in C++),Bruce Eckel著,机械工业出版社 1 从C语言到C++语言 C语言以其如下独有的特点风靡了全世界: (1)语言简洁、紧凑,使用方便、灵活。C语言只有32个关键字,程序书写形式自由。 (2)丰富的运算符和数据类型。 (3)可以直接访问内存地址,能进行位操作,使其能够胜任开发操作系统的工作。 (4)生成的目标代码质量高,程序运行效率高。 (5)可移植性好。 局限性: (1)数据类型检查机制相对较弱,这使得程序中的一些错误不能在编译阶段被发现。 (2)C本身几乎没有支持代码重用的语言结构,因此一个程序员精心设计的程序,很难为其它程序所用。 (3)当程序的规模达到一定程度时,程序员很难控制程序的复杂性。 发展 1980年,贝尔实验室的Bjarne Stroustrup开始对C进行改进和扩充。 1983年正式命名为C++。 在经历了3次C++修订后,1994年制定了ANSI C++ 标准的草案。以后又经过不断完善,成为目前的C++。 C++仍在不断发展中。美国微软公司现已推出C#(C Sharp)语言,来代替C++语言。 编译器 VC++6.0 或其它(Turbor C 3.0,Borland C++) 有关面向对象编程的网站 /softinfo/ objects.html /Technology/OTTerminology.html /oofaq/ www.itr.ch/courses/case/oo.html / C++的网站 /~bs/c++.html /visualc / borlandcpp/cpprod.html /mike/webjr/begcpp.htm /morph/c++/main.htm/ Object-Oriented 编程简介 内容 方法学 编程技术 面向对象语言 1. 方法学 思考问题的方法 归纳 从特殊到一般 从不同的 dogs 到词汇 “dog” 思考问题的方法 演绎 从一般到特殊 从词汇“dog”,你可以区别出一个动物是还是不是一条狗 面向对象 它是一种思考方法 世界上的任何东西都是一个对象; 任何系统都是由对象构成的 (当然系统也是一个对象); 系统的演化和开发就是通过系统内外的对象进行交互完成的。 世界上的任何东西都是一个对象 花, 树, 动物 学生, 教授 桌子, 椅子, 教室, 建筑 大学, 城市, 国家 世界, 宇宙 学科,如计算机,信息系统,数学,历史 … 任何系统都是由对象构成的 法律系统 文化系统 教育系统 经济系统 信息系统 计算机系统 系统开发就是定义对象间的交互 浙江林学院是由下列对象的交互构成的: 学生 教授 职员 浙江省政府 中国政府 … ... 设计方法学 面向对象首先是一种设计方法学(OOA/OOD) 对象是程序的构成模块 (接口对象 (editor, menu, file, etc), 数据管理对象 (db), etc.). 对象代表了在应用中对现实世界的抽象. 设计方法学 面向对象支持 归纳: 对象 - 类 需要OOA/OOD工具. 演绎: 类-对象 编程者需要学习有关类库的知识 设计方法学 面向对象支持 Top-down: 从超类到子类 Bottom-up: 从子类到超类 面向对象编程的基础 *对象 *封装 *继承一般说来,对象是根据类来定义的。我们也可以用一个类来定义另一个类。例如,山地车、赛车和双座自行车都是自行车的一种。用面向对象的术语来说,它都是自行车类的子类或派生类,而自行车类是它们的超类或父类或基类。它们的关系如下图所示: 自行车 每一个子类继承了超类的数据和操作,但是,子类并不是局限于超类的数据和操作。例如,双座自行车有两个坐垫,
显示全部