第3讲面向对象程序设计上93901245.pptx_第1页
第3讲面向对象程序设计上93901245.pptx_第2页
第3讲面向对象程序设计上93901245.pptx_第3页
第3讲面向对象程序设计上93901245.pptx_第4页
第3讲面向对象程序设计上93901245.pptx_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Java语言程序设计1面向对象程序设计 程序设计方法学 对象 属性与方法 类 对象、类之间的几种关系 面向对象技术 人人受益2程序设计方法学过程式程序设计OOP程序设计公共数据函数函数函数函数算法数据结构数据方法方法数据方法方法对象消息消息3程序设计方法学面向过程的程序设计面向过程的程序遵循面向过程的问题求解方法其中心思想是用计算机能够理解的逻辑来描述和表达 待解决的问题及其具体的解决过程。 算法+数据结构数据结构利用计算机的离散逻辑来量化表达需要解决 的问题 。而算法则研究如何快捷、高效地组织解决问题的具体过程。 面向过程面向机器4程序设计方法学面向对象的程序设计面向对象问题求解关心的不仅仅

2、是孤立的单个过程,而 是孕育所有这些过程的母体系统它能够用计算机逻辑来模拟、描述系统本身,包括系统 的组成,系统的各种可能状态,以及系统中可能产生的 各种过程与过程引起的系统状态切换。面向对象的程序设计是以要解决的问题中所涉及到的各 种对象为主要考虑因素。对象是一种看问题的观点,是对现实世界各种元素的一 种抽象。对象既含数据又含功能,因此具有自身处理数 据的能力。对象被认为是迄今为止最接近真实事物的数 据抽象。5对象与过程考虑对象 考虑过程 :前者更有意义设计对象 设计过程:前者更富挑战性,尤其是设计 可重用的对象。面向对象的程序设计和问题求解力求符合人们日常自 然的思维习惯,降低分解问题的难

3、度和复杂性,提高 整个求解过程的可控制性、可监测性和可维护性,从 而达到以较小的代价和较高的效率获得较满意效果的 目的。6对象的几个特征Everything is an object原则上,可以将所要解决的问题中的任何一个“概念组件” 在程序中表示为一个对象。对象类似一个记录,可以存储数据,但你还可以让它执行 某些操作(作用在它自身的数据上)A program is a bunch of objects telling each other what to do by sending messages所谓对一个对象发信息,就是调用该对象的一个方法。Every object has a type

4、 each object is an instance of a class对象+消息7现实中的对象现实世界中对象有两个共同的特点:一方面,它们都有自己的状态,如一台电视机有自己的 摆放位置,有关机和开机状态,此刻正在播放某一频道 的电视节目等另一方面,它们又都有自己的行为或功能,如电视机的 开机、关机、调台等。8对象的属性与方法面向对象程序设计中的对象是现实世界对象的模型 化,它同样具有状态和行为。对象的状态用属性来维护对象的行为用方法来实现因此可以简单地讲,对象是面向对象的程序设计模 式,它由描述状态的属性(变量)和用来实现对象 行为的方法(代码)组成。几种叫法属性 静态属性 域 成员变量

5、 状态方法 动态属性 成员方法 行为9案例-定单系统成立新的公司时尚服装。每月发布商品编目,并寄给定户。客户可以发e-mail 或FAX定货(寄定单)。对于客户的定货要检查存货清单,如缺货,得暂时 搁置定单,直到供货商送到货。公司检查支票和信用卡。公司将定单下发给仓库,给客户发货。注意:同种商品每月价格不一。如果订户使用的是六个月之前的 编目,价格采用当前编目价格。公司接受所有主要的信用卡。10分析对象系统是由相互作用的对象组成。任何系统需要它的 对象做它的工作。案例对象:定单,服装,客户在一个问题域中识别对象不是科学而是艺术。对象 取决于人的观点(模块化,应用)从“名词”开始确定系统中的对象

6、。对象可以是:简单的和复杂的:衬衣,银行实际的和概念的:银行出纳员,银行帐号11对象的属性和方法确定对象的属性和方法对象属性:可以是数据或对象。客户客户号,客户名,地址定单定单号,定货条目,顾客号(也可以是 顾客对象)。对象方法:让对象做的事情(可以对自己,也可以对 其他对象),经常影响对象属性。 客户提交定单 定单打印定单,改变条目12模型化对象CustomerCustomerIDnameshippingAddressphoneinitialize()placeOrder()OrderorderIDCustomerdateOrdereditemsOrderedpaymentinitializ

7、e()calcAmountOwed()printOrder()makePayment()changeItem()13测试对象与问题域是否有关、适当?是否独立存在 客户可以独立存在。 定单可以,但在使用时必须有客户配合。是否有属性和方法。14对象与类类(Class)是同种对象的集合与抽象类是对象的抽象及描述,它是具有统一属性和方法 的多个对象的统一描述体,是用来定义一组对象共 有属性和方法的模板。类是用来创建对象实例的样板,它包含所创建对象 的状态描述和方法的定义。类是一个型,而对象则 是这个型的一个实例。类是静态概念,而对象则是一个动态概念,因为只 有在运行时才给对象分配空间,对象才真正存在。

8、15对象是类的唯一性实例现实世界 实体抽象数据类型 计算机世界抽象映射 计算机逻辑的实现实例化抽象概念世界 对象 类16接口与实现类是一种封装技术。如果属性或方法被定义为public ,它就是接口的一部 分,其他类可以直接访问它。如果属性或方法被定义为private,它就是实现的一部 分。只有类自己的方法可以访问它。对象要注意保护自己的数据(私有属性,公有方法)。 对象通过它们的方法管理,实现由编程人员控制。通过接口与对象发生作用,内部实现不影响接口(汽 车,内部变化不影响驾驶)程序一部分变化不会影响 其他部分。复用事先写好的操作可在整个项目中使用重用比重写更容易17对象与类几种相互关系包含关系当对象A是对象B的属性时,我们称对象B包含对象A。类之间的继承关系B类继承了A类,就是继承了A类的可见属性和方法。A类称之为父类,B类称之为子类。18为什么要学习面向对象编程面向对象技术的意义人脑与电脑的思维如何解决软件危机学习面向对象的紧迫性现在已经到了如果不了解面向对象 编程,作为一个程序员就抬不起头来的 时候了。19面向对象技术意义目前的计算机功能很强,但目前的计算机并不很

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论