Part4Chap01OO编程实现.ppt

上传人:壹****1 文档编号:569938281 上传时间:2024-07-31 格式:PPT 页数:19 大小:1.13MB
返回 下载 相关 举报
Part4Chap01OO编程实现.ppt_第1页
第1页 / 共19页
Part4Chap01OO编程实现.ppt_第2页
第2页 / 共19页
Part4Chap01OO编程实现.ppt_第3页
第3页 / 共19页
Part4Chap01OO编程实现.ppt_第4页
第4页 / 共19页
Part4Chap01OO编程实现.ppt_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《Part4Chap01OO编程实现.ppt》由会员分享,可在线阅读,更多相关《Part4Chap01OO编程实现.ppt(19页珍藏版)》请在金锄头文库上搜索。

1、第三部分 OOP面向对象的编程实现1.OOP2. 用非OOP语言语言实现OOD模型3. 选择编程语言1.0 OOP在面向对象方法中的位置OOA:概念层。帮助软件工程人员和用户组织目标系统的知识。不考虑与实现有关的因素。OOD:实现设计层。针对系统的具体实现,对OOA阶段建立的模型进行调整与增补,并对人机界面、数据存储和控制接口建模。OOP:实现层,把OOD模型变为程序。即用面向对象语言(如C+,Java等)实现设计。此外,也可以用非面向对象语言实现,如C中的结构、Pascal 中的记录来实现类结构。好的编程工具为实现所建立的模型提供了方便,但有了编程工具未必就是好的软件工程师。OOT: Obj

2、ect-Oriented Testing1.1 面向对象的程序设计人工工具MDA (Model Driven Architecture), 一个方向1.1 面向对象的程序设计(两种说法)一般意义上的面向对象的程序设计(Object-Oriented Programming):设计类及由类构造面向对象程序的方法与过程。(多见于一些语言书) 现实世界中的客观对象 计算机中的对象面向对象方法中的面向对象的程序设计 OO方法:一种把面向对象的思想运用于软件开发过程中,指导开发活动的系统方法,包括OOA、OOD和和OOP。 此处OOP指面向对象的编程(实现):把设计阶段的类和关联用具体的编程语言或数据库

3、实现。1. 2 编程语言排行榜(前20名)1. 2 编程语言排行榜(20-50名)自动化控制领域:IEC61131-3 五种标准编程语言1. 2 编程语言排行榜(趋势)Anders Hejlsberg:编程语言大趋势声明式与DSL ( Domain Specific Language )函数式编程:LISP、F#等动态语言与元编程并发1. 2 面向对象的编程语言(特性) 用于描述面向对象程序的语言, 如C+、Java、C#等, 一般具有如下特性:l基本特性:语言元素能够支持类的定义对象的静态声明或动态创建属性和操作的定义继承、聚合和关联的表示语言机制类机制封装机制继承机制l高级特性:多态、多继

4、承的表示和支持机制1.3 OOPL类别纯面向对象语言例如:C#, Java, Smalltalk、Eiffel较全面地支持OO概念强调严格的封装混合型面向对象语言例如:C+、Objective-C、Object Pascal在一种非OO语言基础上扩充OO成分对封装采取灵活策略结合人工智能的面向对象语言例如:Flavors、LOOPS、CLOS1.4 OOPL发展历史及语言谱系(1)VB 6.0之后,C#1.4 OOPL发展历史及语言谱系(2)2 用非OO编程语言实现OOD模型以面向过程的语言(C语言)为例(参考书)(1)类,对象无 可以用结构定义对象,属性与操作变量、函数,可通过指针说明应该有

5、哪些函数(不封装)(2)泛化(一般-特殊)无可把一般结构嵌入特殊结构(3)整体-部分指针、嵌套的结构(4)关联指针;(5)消息函数调用3 为实现OOD模型选择编程语言一般原则:基本原则语言的选择完全从实际出发主要考虑成本、进度、效率等实际因素OOPL是实现OOD的理想语言它使源程序能很好的对应OOD模型。带有类库、编程环境的OOPL更好。用非OO语言也能实现OOD模型 缺乏OO机制的保证和支持,但若自觉遵循一定的原则,可以保持某些OO风格。3.1 选择OOPL的着眼点和目标着眼点: 语言要具有捕捉问题域语义的能力,即对OO概念的表达能力,对OOD模型的实现能力。目标: (1)一致性:分析、设计

6、和编程各个阶段都能采用一致的基本表示,概念、术语、风格都一致,形成良好的映射概念形成良好的映射 (2)可复用性: (3)可维护性:3.2 编程语言的评价标准(1)(1)能否描述类和对象是否提供封装机制?对封装有无可见性控制?(2)能否实现泛化 支持多继承、单继承还是不支持继承? 支持多继承时,是否能解决命名冲突?(3)是否支持重载与多态 重载重载是指,类中具有相似功能的不同函数使用同一名称实现,从而用相同的调用方式调用具有不同功能的同名函数。子类的成员函数可重载基类的成员函数。 多态性多态性是指,考虑类间的层次关系,解决功能和行为的再抽象;即在运行时,依据类型确认调用哪个函数的能力。3.2 编程语言的评价标准(2)(4)如何实现聚合与关联用什么实现关联?如何表示多重性?(5)如何实现属性和操作用什么表示属性?用什么描述操作?有无可见性控制?能否描述约束?是否支持动态绑定(dynamic binding) ?(6)最好使用带有类库和可视化编程环境的OOPL3.3 综合考虑语言、类库和编程环境开始实践!开始实践!

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号