欢迎来到天天文库
浏览记录
ID:58642239
大小:284.50 KB
页数:26页
时间:2020-10-06
《java面向对象软件开发概述.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
面向对象软件开发概述本章介绍的有关概念将在后续章节中逐步加深理解教材第1章 认识空间-解空间现实世界认识空间解空间 计算机解决客观世界中问题的本质借助某种程序设计语言的规定,将客观世界中待处理的对象抽象为程序中的对象(称为解空间对象)然后利用程序的功能对解空间对象进行处理,并将处理结果映射为问题的解。现实世界中的对象→解空间对象 机器语言汇编语言面向对象语言高级语言程序设计语言 解空间对象解空间对象是什么模型,要取决于所使用的程序设计语言:汇编语言提供的对象-存储单元。面向过程的高级语言所提供的对象-各种预定义类型的变量、数组、记录和文件等。面向对象语言提供的对象-对象一旦提供了某种解空间对象,也就隐含规定了允许对该类对象施加的操作。 面向过程语言面向过程的语言语言中所提供的解空间对象实质上仅仅是描述实际对象的属性数据,而缺少对象的行为。只有从外部对对象施加操作,才能模拟对象的行为。面向过程的程序把数据和处理人为地分开,会增加软件开发的难度,也不利于为现实世界中的对象建模。数据区程序区 面向对象观点人们在观察和分析周围的事物时,经常是用一种面向对象的观点看待问题。我们周围的世界是由各式各样的对象组成:例如学校中,学生、教师、课程、班级、教室、计算机、电视机、空调等都是对象。对象可以是人,可以是物,可以是具体的事物,也可以是抽象的概念。我们周围所发生的一切,无非是对象相互作用的结果。 客观世界中对象的属性客观世界中对象:状态(数据)-静态属性行为(功能)—动态属性对象既含数据又含功能,因此具有自身处理数据的能力-能动的主体。对象是一种看问题的观点,是对现实世界各种元素的一种抽象。对象被认为是迄今为止最接近真实事物的数据抽象。电梯举例 面向对象语言面向对象语言中的解空间对象比较好地模拟了现实世界中的对象。将对象定义为数据及可以施加在这些数据上的操作所构成的统一体。该对象与传统的数据有本质的区别,传统数据-被动地等待外界对它的操作。对象-进行处理的主体。可以通过向对象发“消息”来请求对象主动地执行它的某些操作,处理它的内部数据,完成对象所具有的某项功能。 对象intx;变量xIntegerx;对象xintcompareTo(IntegeranotherInteger)doubledoubleValue()floatfloatValue()intintValue()longlongValue()shortshortValue()StringtoString()x.toString()对象x所具有的功能 面向过程-面向机器在面向过程的程序设计中,核心是:数据结构是利用计算机的离散逻辑来量化表达需要处理的数据对象;而算法则是研究如何快捷、高效地组织解决问题的具体过程。面向过程本质上是面向机器,而不是面向问题。算法+数据结构 面向对象程序设计面向对象的程序设计的编程思路不是把程序看作是工作在数据上的一系列过程或函数的集合,而是把程序看作是相互协作又彼此独立的对象的集合。每个对象就像一个微型程序,有自己的数据、操作和功能。在许多系统中,解空间中的对象可以直接模拟我们实际接触的对象。 面向对象技术意义减少人脑和电脑之间的隔阂长期以来,人与计算机之间仍存在着较大的隔阂:人认识问题时的认识空间和计算机处理问题时的方法空间的不一致;而面向对象技术有助于减小这一隔阂、并使这两个空间尽量趋于一致。软件复用类库的使用(可重用的标准化的模块)类的继承面向对象技术应用的普遍性 面向对象技术-人人受益formanager更迅速和更经济地开发和维护软件系统。foranalystsanddesigners模块化的过程将变的简单,并能获得一个清晰的、易于管理的设计方案。Forprogrammers清晰的对象模型,丰富的面向对象开发工具及类库使得编程变为一件饶有兴趣的工作。程序员明显感到编程效率的提高。 类与对象的基本概念 对象特征现实世界的对象:有自己的状态,如一台空调有自己编号、摆放位置、颜色、尺寸、重量、工作状态…有自己的行为(功能),如空调的开机、关机、制冷、制热、摆风…机器世界的的对象:对象的状态用属性来维护(变量)对象的行为用方法来实现(代码) 对象与类相关对象的集合称为类(Class)类是对象的抽象及描述,它是具有统一属性和方法的多个对象的统一描述体,是用来定义一组对象共有属性和方法的模板。类是用来创建对象实例的样板,它包含所创建对象的状态描述和方法的定义。类是一个型,而对象则是这个型的一个实例。类是静态概念,而对象则是一个动态概念,因为只有在运行时才给对象分配空间,对象才真正存在。 对象与类 对象与类计算机世界徐军徐军(对象)学生(类)创建现实世界概念世界学生抽象定义类对应 封装封装是一种组织软件的方法。基本思想:把客观世界中联系紧密的元素及相关操作组织在一起,使其相互关系隐藏在内部,而对外仅仅表现为与其他封装体间的接口。从而构造出具有独立含义的软件实现。封装并不是一个新的概念,但在面向对象的程序设计中提出了一种全新的封装方法──类与对象 封装类的接口与实现如果类的属性或方法被定义为public,它就是接口的一部分,其他类可以直接访问它。如果类的属性或方法被定义为private,它就是实现的一部分。只有类自己的方法可以访问它。对象要注意保护自己的数据(私有属性,公有方法)。对象通过它们的方法管理,实现由编程人员控制。通过接口与对象发生作用,内部实现不影响接口(汽车,内部变化不影响驾驶)程序一部分变化不会影响其他部分。 继承“类”具有继承的功能。B类继承了A类,就是继承了A类公共的属性与方法。(称A类为父类,B类为子类)继承-类的复用在一般情况下,要定义一个新类,只需继承一个父类,再描述一下它与父类的不同之处就行了。继承性使得用户可以在原有类的基础上定义自己的新类。 案例-定单系统公司需求:成立新的公司-时尚服装;每月发布商品编目,并寄给定户;客户可以发e-mail或FAX定货(寄定单);对于客户的定货要检查存货清单,如缺货,得暂时搁置定单,直到供货商送到货;公司检查支票和信用卡;公司将定单下发给仓库,给客户发货;注意:同种商品每月价格不一。如果订户使用的是六个月之前的编目,价格采用当前编目价格;公司接受所有主要的信用卡; 分析对象系统是由相互作用的对象组成。任何系统需要它的对象做它的工作。案例对象:定单,服装,客户…在一个问题域中识别对象不是科学而是艺术。对象取决于人的观点(模块化,应用)从“名词”开始确定系统中的对象。对象可以是:简单的和复杂的:衬衣,银行实际的和概念的:银行出纳员,银行帐号 对象的属性和方法确定对象的属性和方法对象属性:客户-客户号,客户名,地址…定单-定单号,定货条目,顾客...对象方法:让对象做的事情(可以对自己,也可以对其他对象),经常影响对象属性。客户-提交定单…定单-打印定单,改变条目… 测试对象与问题域是否有关、适当?是否独立存在客户可以独立存在。定单可以,但在使用时必须有客户配合。是否有属性和方法。
此文档下载收益归作者所有
举报原因
联系方式
详细说明
内容无法转码请点击此处