软件工程面向对象基础.ppt
《软件工程面向对象基础.ppt》由会员分享,可在线阅读,更多相关《软件工程面向对象基础.ppt(36页珍藏版)》请在三一办公上搜索。
1、面向对象基础,9.1 面向对象程序设计语言的发展9.2 面向对象程序设计模式9.3 面向对象的概念9.4 面向对象的开发方法9.5 小结习题,9.1 面向对象程序设计语言的发展,9.1.1 Simula语言Simula 67是一种真正的多功能程序设计语言,仿真是其中的一个应用。,9.1.2 Smalltalk语言 Smalltalk是一种纯面向对象程序设计语言,它强调对象概念的归一性,引入了类、子类、方法、消息和实例等概念术语,应用了单继承性和动态联编,成为面向对象程序设计语言发展中一个引人注目的里程碑。,9.1.3 Eiffel语言Eiffel它是继Smalltalk 80之后又一个纯面向对
2、象的程序设计语言。它的主要特点是全面的静态类型化、全面支持面向对象的概念、支持动态联编、支持多重继承和具有再命名机制可解决多重继承中的同名冲突问题。,9.1.4 C+语言 C+是一种混合型的面向对象的强类型语言,C+是C语言的超集,融合了Simula的面向对象的机制,借鉴了ALGOL 68中变量声明位置不受限制、操作符重载,形成一种比Smalltalk更接近于机器但又比C语言更接近问题的面向对象程序设计语言。,9.1.5 面向对象程序设计语言目前已有几十种面向对象语言出现,这些语言分为两大类:第一类是纯面向对象的程序设计语言,它们是Smalltalk-80,Eiffel,SELF,Java等;
3、第二类是混合式面向对象程序设计语言,它们是C+,Simula,CLOS,CommonLoops,Objective-C,objective Pascal等。,9.2 面向对象程序设计模式,9.2.1 软件能力面临的问题(略)1.软件能力2.制约软件发展的主要因素3.传统软件工程的局限性4.软件形式化开发至今尚未真正实用5.必然的选择采用新的程序设计模式,9.2.2 程序设计基本模式 程序设计模式是人们在程序设计时所采用的基本方式模型,它是以一类程序设计语言为基础,体现了一类语言的主要特点,这些特点能用以支持应用领域所希望的设计风格。从第一个程序设计语言产生以来,有如下的基本程序设计模式。1.过
4、程程序设计例如FORTURN语言。2.结构化程序设计这种模式的程序设计语言有Modula,Ada,C和PASCAL等。3.函数程序设计函数程序设计语言的代表是LISP等语言。4.逻辑程序设计逻辑程序设计模式的语言代表是PROLOG等语言 5.面向对象程序设计9.2.3 程序设计模式的转换(略),9.2.4 面向对象程序设计模式的机制 1.基本特征 面向对象的程序设计将计算看作是一个系统的开发过程,系统由对象组成,经历一连串的状态变化以完成计算任务。面向对象程序设计对体系结构和支撑软件系统没有突变要求,因而不存在难以应用现有资源的问题。2.基础构件面向对象程序的基础构件是对象和类。从程序设计角度
5、来看,对象是一种不依赖于外界的模块,对应着存储器中的一块被划分的区域。它包含数据,在逻辑上也包含作用于这些数据的过程,这些过程称为方法。,杭 州,北 京,Message,Send by method,对象Object,Object,=数据Attribute,Attributes:location;employee;,+操作Method,Methods:send;sell;,注意:Object内部的attributes不允许外部用户直接改动,只有当它提供了相应的服务method时,用户才能通过发送message来提请它执行。,我想把邮局搬到我家门口,多加几个邮递员,24小时都开门,对不起,本邮局
6、不提供此类服务,唉,那就先送束花吧 Post_office.Send(request,payment),软件工程的新途径,面向对象方法学(OOM)例:,3.基本机制面向对象程序设计的基本机制是继承性、消息和方法,还有在特定方面提供更为专门的、灵活的机制,如重置、多态等。,9.3 面向对象的概念,9.3.1 面向对象的基本思想,尽可能模拟人类习惯的思维方式,即问题域与求解域在结构上尽可能一致。与传统方法相反,OOM以数据或信息为主线,把数据和处理结合构成统一体 对象。这时程序不再是一系列工作在数据上的函数集合,而是相互协作又彼此独立的对象的集合。,程序=(对象、对象、对象、对象),计算机世界,现
7、实世界,结构化开发方法,结构化分析,结构化设计,结构化编程,OOA,OOD,OOP,面向对象开发方法,OOM,什么是面向对象,Coad和Yourdon给出了一个定义:“面向对象=对象+类+继承+通信”。如果一个软件系统是使用这样 4 个概念设计和实现的,则我们认为这个软件系统是面向对象的。一个面向对象的程序的每一成份应是对象,计算是通过新的对象的建立和对象之间的通信来执行的。,9.3.2 面向对象的基本概念,对象(object),客观世界里的任何实体都可以被看作是对象。对象可以是具体的物,也可以指某些概念。(有形实体、作用、事件、性能说明)对象是面向对象开发模式的基本成份。每个对象可用它本身的
8、一组属性和它可以执行的一组操作来定义。从编程的角度来看,对象=(算法+数据结构)或 对象=(操作+属性)即对象实现了数据和操作的结合,使数据和操作封装在对象的统一体内。属性:属性用来表示对象的状态操作又称为方法或服务,它描述了对象执行的功能,描述对象行为的过程,若通过消息传递,还可以为其它对象使用。,类(class),类是一组具有相同数据结构和相同操作的对象的集合。类的定义包括一组数据属性和在数据上的一组合法操作。类定义可以视为一个具有类似特性与共同行为的对象的模板,可用来产生对象。,在一个类中,每个对象都是类的实例(Instance),它们都可使用类中提供的函数。对象的状态则包含在它的实例变
9、量,即实例的属性中。,例:人类是一个类,张三、李四都是人的实例(对象),一个类描述这些事务所应具有的属性,如人有身高、体重、文化程度、性别、年龄等。一个对象是类的一个实例,它具有确定的属性,如张三的身高180、体重70、大本、男、21 人类只有一个,人类的实例可以有多个。,【例1】基于Visual FoxPro的FORM类生成一个对象,然后访问该对象的一些属性和方法。Oform=CREATEOBJECT(Form)&生成一个空白表单Oform.show&显示表单Oform.caption=“演示”&修改表单的标题?“这是一个生成对象的演示程序”&在表单上输出字符串Oform.release&释
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 面向 对象 基础

链接地址:https://www.31ppt.com/p-6206903.html