文档详情

面向对象的概念..ppt

发布:2017-04-15约6.48千字共48页下载文档
文本预览下载声明
1 面向对象技术 2 课程特点 面向对象是一种全新的思考方式 该课程以概念为基础,为主线 注重建模和视图 提供统一建模语言UML 深入理解面向对象的概念; 掌握面向对象的建模过程; 掌握建模语言UML; 设计健壮的、可扩展的、可复用的、 可维护的软件系统。 3 课程目的 4 面向对象的概念 面向对象的软件开发模型 第1章 面向对象的概念 5 理解并掌握如下概念 类和对象 对象和实例 对象和变量 实例变量与类变量 方法与操作 抽象类和抽象方法 两种方法的本质区别 面向对象的软件开发模型 6 1.1 传统软件开发方法的问题 模型阶段性 模型的顺序性 以功能为主的方法,功能易变 模块的封装性、可重用性差,接口易变 没有很好解决软件开发中的两个经典问题 大峡谷 北端 大峡谷 南端 数据模型 处理模型 科罗拉 多河 传统方法,数据和功能各自描述系统的一部分,两种模型表示角度不同,若合起来,对一致性、精确性难以验证。 OO的对象模型解决了此问题。 两个经典问题:问题“1” 图1-1 经典问题“1” 7 两个经典问题:问题“2” 分析模型 设计模型 大峡谷 北端 科罗拉 多河 大峡谷 南端 传统方法,分析和设计两个阶段描述工具不同,需要转换,重新建立模型,向程序员解释编程要求。 OO方法的设计是对OOA的扩展。 图1-2 经典问题“2” 8 9 面 向 对 象 的 发 展 过 程 1.2 面向对象方法的由来 图1-3 面向对象方法的发展 10 Simula (Dahl and Nygaad)—模拟现实世界对象的行为。 60年代末,挪威奥斯陆大学和挪威计算中心研制的创建了 第一个OO系统。 Ada (G.Booch)—具有对象的特征,是一个基于对象的语言。 70年代,G.Booch在研究Ada软件开发中,提出了OO思想, 创建了Ada的程序包。 Smalltalk (美国Xerox Parc研究中心A.Key研制) 72年,推出Smalltalk72---有对象的概念; 76年,推出Smalltalk76---有类的概念; 81年,推出Smalltalk80和环境---全面体现了OO程序设计语 言的特征。 1.2 面向对象方法的由来 Objective-C (Cox 1986,Cox and Novobilski 1991)。 支持多态、信息隐敝。 C++ ( 1980,贝尔实验室的Bjarne Strousrup) 支持抽象、继承、自动引用、动态绑定、操作符重载等, 但维护困难。 Eiffel (Myeer 1990) 有断言,解决正确性、健壮性、可移植性、效率等。 Java (Sun 公司 James Gosling 1990) 在Sun World95年会上公布。 Java=C++ -复杂性和奇异性+安全性和可移植性。 11 1.2 面向对象方法的由来 1.3 面向对象与面向过程的软件开发区别 1.3.1 方法的区别 1.3.2 分析与设计的区别 1.3.3 程序的区别 12 1.3.1 方法的区别 13 (1) 面向过程方法是开发人员按计算机的结构去思考问 题。 (2) 面向过程方法是开发人员在问题空间和解空间进行 对应。 面向对象方法是以对象(事物)代表求解问题的中 心环节,是按解决问题的方式去思考问题。 面向对象的方法,是现实的问题空间与软件系统的 解空间的近似和直接模拟,使人们对复杂系统的认 识过程和程序的实现过程尽可能一致。 14 (3) 面向过程方法以函数过程和数据结构为中心建模,用 计算机的术语描述问题。 面向对象的方法是对求解问题本身建模,用问题本 身的术语描述问题。 1.3.1 方法的区别 15 函数和 过程 举例:某所大学信息系统的设计 结构化的方法: 将定义数据库的布局和程序的设计来访问这些数据。 数据库中存有关于学生、教授、教室以及课程的信息。 程序可以让用户登记学生的选课情况,分派教授授课,安排授课教室等。程序可以访问并更新数据库。 16 面向对象的方法: 学生、教授、教室和课程等被当成对象来考虑。 定义一组能进行交互的类(类,class是相似对象的一种通用表示)。 这样的类将包括功能(程序) 和数据的抽象。 举例:某所大学信息系
显示全部
相似文档