Java语言程序设计 清华大学计算机与信息 3-面向对象程序设计(上)

Java语言程序设计 清华大学计算机与信息 3-面向对象程序设计(上)

ID:40238776

大小:1.18 MB

页数:119页

时间:2019-07-28

Java语言程序设计 清华大学计算机与信息 3-面向对象程序设计(上)_第1页
Java语言程序设计 清华大学计算机与信息 3-面向对象程序设计(上)_第2页
Java语言程序设计 清华大学计算机与信息 3-面向对象程序设计(上)_第3页
Java语言程序设计 清华大学计算机与信息 3-面向对象程序设计(上)_第4页
Java语言程序设计 清华大学计算机与信息 3-面向对象程序设计(上)_第5页
资源描述:

《Java语言程序设计 清华大学计算机与信息 3-面向对象程序设计(上)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、面向对象程序设计(上)面向对象基本概念抽象与封装类定义重载继承多态认识空间-解空间现实世界认识空间解空间计算机解决客观世界中问题的本质借助于某种程序设计语言的规定,将客观世界中待处理的对象抽象为程序中的对象(称为解空间对象),然后利用程序的功能对解空间对象进行处理,并将处理结果映射为问题的解。现实世界中的对象→解空间对象机器语言汇编语言面向对象语言高级语言程序设计语言解空间对象解空间对象是什么模型,要取决于所使用的程序设计语言:汇编语言提供的对象-存储单元。面向过程的高级语言所提供的对象-各种预定义类型的变量、

2、数组、记录和文件等。面向对象语言提供的对象-对象一旦提供了某种解空间对象,也就隐含规定了允许对该类对象施加的操作。面向过程语言面向过程语言语言中所提供的解空间对象实质上仅仅是描述实际对象的属性数据,而缺少对象的行为。只有从外部对对象施加操作,才能模拟对象的行为。面向过程的程序把数据和处理人为地分开,会增加软件开发的难度,也不利于为现实世界中的对象建模。数据区程序区面向对象观点人们在观察和分析周围的事物时,经常是用一种面向对象的观点看待问题。我们周围的世界是由各式各样的对象组成:例如学校中,学生、教师、课程、班级

3、、教室、计算机、电视机、空调等都是对象。对象可以是人,可以是物,可以是具体的事物,也可以是抽象的概念。我们周围所发生的一切,无非是对象相互作用的结果。客观世界中对象的属性客观世界中对象:状态(数据)-静态属性行为(功能)—动态属性对象既含数据又含功能,因此具有自身处理数据的能力-能动的主体。对象是一种看问题的观点,是对现实世界各种元素的一种抽象。对象被认为是迄今为止最接近真实事物的数据抽象。电梯举例面向对象语言面向对象语言中的解空间对象比较好地模拟了现实世界中的对象。将对象定义为数据及可以施加在这些数据上的操作

4、所构成的统一体。该对象与传统的数据有本质的区别,传统数据-被动地等待外界对它的操作。对象-进行处理的主体。可以通过向对象发“消息”来请求对象主动地执行它的某些操作,处理它的内部数据,完成对象所具有的某项功能。面向对象程序中的对象例intx;变量xIntegerx;对象xintcompareTo(IntegeranotherInteger)doubledoubleValue()floatfloatValue()intintValue()longlongValue()shortshortValue()Stringt

5、oString()x.toString()对象x所具有的功能面向过程-面向机器在面向过程的程序设计中,核心是:数据结构是利用计算机的离散逻辑来量化表达需要处理的数据对象;而算法则是研究如何快捷、高效地组织解决问题的具体过程。面向过程本质上是面向机器,而不是面向问题。算法+数据结构面向对象程序设计面向对象的程序设计的编程思路不是把程序看作是工作在数据上的一系列过程或函数的集合,而是把程序看作是相互协作又彼此独立的对象的集合。每个对象就像一个微型程序,有自己的数据、操作和功能。在许多系统中,解空间中的对象可以直接模

6、拟我们实际接触的对象。面向对象技术意义减少人脑和电脑之间的隔阂长期以来,人与计算机之间仍存在着较大的隔阂:人认识问题时的认识空间和计算机处理问题时的方法空间的不一致;而面向对象技术有助于减小这一隔阂、并使这两个空间尽量趋于一致。软件复用类库的使用(可重用的标准化的模块)类的继承面向对象技术应用的普遍性面向对象技术-人人受益formanager更迅速和更经济地开发和维护软件系统。foranalystsanddesigners模块化的过程将变的简单,并能获得一个清晰的、易于管理的设计方案。Forprogrammer

7、s清晰的对象模型,丰富的面向对象开发工具及类库使得编程变为一件饶有兴趣的工作。程序员明显感到编程效率的提高。抽象所有编程语言都提供“抽象”功能。你所能解决问题的复杂程度取决于抽象的种类和质量。汇编语言对于计算机(机器语言)是一步很小的抽象。过程化语言(高级语言)对于汇编语言的抽象迈了一大步。但你所考虑的仍然是机器的结构而非问题的结构。面向对象方法为程序员提供了一种表示问题空间元素的全新的方法,而且不受问题类型的约束。抽象问题空间元素→方法空间中的表示:对象“对象”是现实世界的实体或概念在计算机逻辑中的抽象表示。

8、面向对象的程序设计是以要解决的问题中所涉及到的各种对象为主要考虑因素。面向对象语言更加贴近人的思维方式。OOP允许你用问题空间中的术语来描述问题。在面向对象程序设计中还需要一些其他对象,而它们没有在问题空间的对应体。对象“对象”就象是一台小“计算机”:对象有状态对象有你要求它执行的操作现实世界中的对象:它们都有自己的状态它们又都有自己的行为程序中的对象用属性表示状态用方法(代码)实现行

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。