《java面向对象软件开发概述实用教案》由会员分享,可在线阅读,更多相关《java面向对象软件开发概述实用教案(27页珍藏版)》请在金锄头文库上搜索。
1、认识(rnshi)空间解空间现实(xinsh)世界认识认识(rn shi)空间空间 解空间解空间第1页/共26页第一页,共27页。计算机解决(jiju)客观世界中问题的本质借助某种程序设计语言的规定,将客观世界中待处理的对象抽象为程序中的对象(称为解空间对象)然后(rnhu)利用程序的功能对解空间对象进行处理,并将处理结果映射为问题的解。现实世界中的对象解空间对象第2页/共26页第二页,共27页。机器语言(j q y yn)汇编语言(hu bin y yn)面向对象语言(yyn)高级语言程序设计语言第3页/共26页第三页,共27页。解空间(kngjin)对象解空间对象(duxing)是什么模型
2、,要取决于所使用的程序设计语言:汇编语言提供的对象(duxing)存储单元。面向过程的高级语言所提供的对象(duxing)各种预定义类型的变量、数组、记录和文件等。面向对象(duxing)语言提供的对象(duxing)对象(duxing)一旦提供了某种解空间对象(duxing),也就隐含规定了允许对该类对象(duxing)施加的操作。第4页/共26页第四页,共27页。面向(minxin)过程语言面向过程的语言语言中所提供的解空间对象实质上仅仅是描述实际对象的属性数据,而缺少对象的行为。只有从外部对对象施加操作,才能模拟对象的行为。面向过程的程序把数据和处理人为(rnwi)地分开,会增加软件开发
3、的难度,也不利于为现实世界中的对象建模。数据(shj)区程序区第5页/共26页第五页,共27页。面向对象观点(gundin)人们在观察和分析周围的事物时,经常是用一种面向对象的观点看待问题。我们周围的世界是由各式各样的对象组成:例如学校中,学生、教师、课程、班级、教室、计算机、电视机、空调等都是对象。对象可以是人,可以是物,可以是具体的事物,也可以是抽象的概念。我们周围所发生(fshng)的一切,无非是对象相互作用的结果。第6页/共26页第六页,共27页。客观(kgun)世界中对象的属性客观世界中对象:状态(数据)静态属性行为(功能)动态属性对象既含数据又含功能,因此具有自身处理数据的能力能动
4、的主体。对象是一种看问题的观点,是对现实世界各种元素的一种抽象。对象被认为(rnwi)是迄今为止最接近真实事物的数据抽象。第7页/共26页第七页,共27页。面向对象语言(yyn)面向对象语言中的解空间对象比较好地模拟了现实世界中的对象。将对象定义为数据及可以施加在这些数据上的操作所构成的统一体。该对象与传统的数据有本质的区别,传统数据被动地等待外界对它的操作。对象进行( jnxng)处理的主体。可以通过向对象发“消息”来请求对象主动地执行它的某些操作,处理它的内部数据,完成对象所具有的某项功能。第8页/共26页第八页,共27页。对象(duxing)intx;变量(binling)xIntege
5、rx;对象xintcompareTo(IntegeranotherInteger)doubledoubleValue()floatfloatValue()intintValue()longlongValue()shortshortValue()StringtoString()x.toString()对象x所具有的功能第9页/共26页第九页,共27页。面向(minxin)过程面向(minxin)机器在面向过程的程序设计中,核心是:数据结构是利用计算机的离散逻辑来量化表达需要处理的数据对象;而算法则是研究如何快捷、高效地组织解决问题的具体过程。面向过程本质上是面向机器( jq),而不是面向问题。算
6、法(sun f)数据结构第10页/共26页第十页,共27页。面向对象程序设计(chnxshj)面向对象的程序设计的编程思路不是把程序看作是工作在数据上的一系列过程或函数的集合,而是把程序看作是相互协作又彼此独立的对象的集合。每个对象就像一个微型程序,有自己的数据、操作和功能。在许多系统中,解空间中的对象可以(ky)直接模拟我们实际接触的对象。第11页/共26页第十一页,共27页。面向对象技术(jsh)意义减少人脑和电脑之间的隔阂长期以来,人与计算机之间仍存在着较大的隔阂:人认识问题时的认识空间和计算机处理问题时的方法空间的不一致;而面向对象技术有助于减小这一隔阂、并使这两个空间尽量趋于一致。软
7、件复用(fyn)类库的使用(可重用的标准化的模块)类的继承面向对象技术应用的普遍性第12页/共26页第十二页,共27页。面向对象技术-人人(rnrn)受益formanager更迅速和更经济地开发和维护软件系统。foranalystsanddesigners模块化的过程将变的简单,并能获得一个清晰的、易于管理(gunl)的设计方案。Forprogrammers清晰的对象模型,丰富的面向对象开发工具及类库使得编程变为一件饶有兴趣的工作。程序员明显感到编程效率的提高。第13页/共26页第十三页,共27页。类与对象(duxing)的基本概念第14页/共26页第十四页,共27页。对象(duxing)特征
8、现实世界的对象:有自己的状态,如一台空调有自己编号、摆放位置、颜色、尺寸、重量、工作状态有自己的行为(功能),如空调的开机、关机、制冷、制热、摆风机器( jq)世界的的对象:对象的状态用属性来维护(变量)对象的行为用方法来实现(代码)第15页/共26页第十五页,共27页。对象(duxing)与类相关对象的集合称为类(Class)类是对象的抽象及描述,它是具有统一属性和方法的多个(du)对象的统一描述体,是用来定义一组对象共有属性和方法的模板。类是用来创建对象实例的样板,它包含所创建对象的状态描述和方法的定义。类是一个型,而对象则是这个型的一个实例。类是静态概念,而对象则是一个动态概念,因为只有
9、在运行时才给对象分配空间,对象才真正存在。第16页/共26页第十六页,共27页。对象(duxing)与类第17页/共26页第十七页,共27页。对象(duxing)与类 计算机世界(shji) 徐军 徐军(对象(duxing))学生(类)创 建 现实世界 概念世界 学生 抽象 定义类 对应 第18页/共26页第十八页,共27页。封装封装是一种组织软件的方法。基本思想:把客观世界中联系紧密的元素及相关操作组织在一起,使其相互关系隐藏在内部,而对外仅仅表现为与其他封装体间的接口。从而构造出具有独立含义(hny)的软件实现。封装并不是一个新的概念,但在面向对象的程序设计中提出了一种全新的封装方法类与对
10、象第19页/共26页第十九页,共27页。封装类的接口与实现如果类的属性或方法被定义为public,它就是接口的一部分,其他类可以直接访问它。如果类的属性或方法被定义为private,它就是实现的一部分。只有类自己的方法可以访问它。对象要注意保护自己的数据(私有属性,公有(gngyu)方法)。对象通过它们的方法管理,实现由编程人员控制。通过接口与对象发生作用,内部实现不影响接口(汽车,内部变化不影响驾驶)程序一部分变化不会影响其他部分。第20页/共26页第二十页,共27页。继承(jchng)“ 类”具有继承的功能。B类继承了A类,就是继承了A类公共的属性与方法(fngf)。(称A类为父类,B类为
11、子类)继承类的复用在一般情况下,要定义一个新类,只需继承一个父类,再描述一下它与父类的不同之处就行了。 继承性使得用户可以在原有类的基础上定义自己的新类。第21页/共26页第二十一页,共27页。案例定单(dngdn)系统公司需求:成立新的公司时尚服装;每月发布商品编目,并寄给定户;客户可以发e-mail或FAX定货(寄定单);对于客户的定货要检查存货清单,如缺货,得暂时搁置定单,直到供货商送到货;公司检查支票和信用卡;公司将定单下发给仓库,给客户发货;注意:同种商品每月价格( jig)不一。如果订户使用的是六个月之前的编目,价格( jig)采用当前编目价格( jig);公司接受所有主要的信用卡
12、;第22页/共26页第二十二页,共27页。分析(fnx)对象系统是由相互作用的对象组成。任何(rnh)系统需要它的对象做它的工作。案例对象:定单,服装,客户在一个问题域中识别对象不是科学而是艺术。对象取决于人的观点(模块化,应用)从“名词”开始确定系统中的对象。对象可以是:简单的和复杂的:衬衣,银行实际的和概念的:银行出纳员,银行帐号第23页/共26页第二十三页,共27页。对象的属性(shxng)和方法确定对象的属性和方法对象属性:客户客户号,客户名,地址定单定单号,定货条目,顾客.对象方法:让对象做的事情(可以对自己(zj),也可以对其他对象),经常影响对象属性。客户提交定单定单打印定单,改
13、变条目第24页/共26页第二十四页,共27页。测试(csh)对象与问题域是否有关、适当?是否独立存在(cnzi)客户可以独立存在(cnzi)。定单可以,但在使用时必须有客户配合。是否有属性和方法。第25页/共26页第二十五页,共27页。感谢您的观看(gunkn)!第26页/共26页第二十六页,共27页。内容(nirng)总结认识空间解空间。然后利用程序的功能对解空间对象进行处理,并将处理结果映射为问题的解。人们在观察和分析周围的事物时,经常是用一种面向对象的观点看待问题。面向过程面向机器。数据结构是利用计算机的离散逻辑(lu j)来量化表达需要处理的数据对象。面向过程本质上是面向机器,而不是面向问题。更迅速和更经济地开发和维护软件系统。如果类的属性或方法被定义为private,它就是实现的一部分。定单打印定单,改变条目。第25页/共26页第二十七页,共27页。