4-java面向对象设计

4-java面向对象设计

ID:38507505

大小:119.00 KB

页数:21页

时间:2019-06-13

4-java面向对象设计_第1页
4-java面向对象设计_第2页
4-java面向对象设计_第3页
4-java面向对象设计_第4页
4-java面向对象设计_第5页
资源描述:

《4-java面向对象设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Java面向对象设计思想计算机学院通信软件工程中心张艳梅ymzhang@bupt.edu.cn1本章主要内容:1、一切皆对象一切皆对象。程序由对象构成。对象由更小的对象构成。每个对象有其职责。对象职责通过它的下属对象的职责实现和下属对象互相协作来实现。2、从实例体会OOP开始使用对象继承的好处接口可是个利器21、一切皆对象对象:是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划和事件。对象具有状态,一个对象用数值来描述它的状态。

2、对象具体操作,用来改变对象的状态,操作就是对象的行为。对象实现了数据和操作的结合,使数据和操作封闭于对象的统一体中。31.1一切皆对象理论上讲,可从要解决的问题身上提出所有概念性的组件,然后在程序中将其表达为一个对象。当我们进行面向对象的程序设计时,面临的最大一项挑战性就是,如何把问题描述转化为对象架构。41.2程序由对象构成程序是一大堆对象的组合。例:Lightlt=newLight();通过消息传递,各对象知道自己该做些什么。例:lt.on();lt.off();lt.brighten();

3、lt.dim();为了向对象发出请求,需向那个对象“发送一条消息”。更具体地讲,可将消息想象为一个调用请求,它调用的是从属于目标对象的一个子例程或函数。使用一些预先定义好的类时,我们在程序里采用的代码是非常简单和直观的。51.3对象由更小的对象构成(1)许多人认为代码重用是面向对象程序设计提供的最伟大的一种杠杆。为重复使用一个类,最简单的办法是直接使用那个类的对象。但同时也能将那个类的一个对象置入一个新类。我们把这叫作“创建一个成员对象”。新类可由任意数量和类的其他对象构成。这个概念叫作“组合”

4、(也叫“包含”)——在现有类的基础上组织一个新类。所以,尽管对象的概念非常简单,但在程序中却可达到任意高的复杂程度。61.3对象由更小的对象构成(2)对象的组合具有极大的灵活性。新类的“成员对象”通常设为“私有”(Private),这样我们可在不干扰客户代码的前提下,从容地修改那些成员。也可以在“运行期”更改成员,这进一步增大了灵活性。由于继承的重要性,所以在面向对象的程序设计中,它经常被重点强调。作为新加入这一领域的程序员,或许早已先入为主地认为“继承应当随处可见”。沿这种思路产生的设计将是非

5、常笨拙的,会大大增加程序的复杂程度。相反,新建类的时候,首先应考虑“组合”对象;这样做显得更加简单和灵活。利用对象的组织,我们的设计可保持清爽。71.4每个对象都有其职责(1)“接口”(Interface)规定了可对一个特定的对象发出哪些请求。然而,必须在某个地方存在着一些代码,以便满足这些请求。这些代码与那些隐藏起来的数据便叫作“隐藏的实现”。对象的职责就是决定如何对这条消息作出反应(执行相应的代码)。每个对象都有一种模版。类:具体相同或相似性质的对象的抽象就是类。因此,对象的抽象是类,类的具

6、体化是对象,也可说实例是对象。类具体属性和操作。81.4每个对象都有其职责(2)一个类最重要的特征就是“能将什么消息发给它?”。Java采用三个显式关键字以及一个隐式关键字来设置类边界:public,private,protected以及暗示性的friendly。若未明确指定其他关键字,则默认为后者。这些关键字的使用和含义都是相当直观的,它们决定了谁能使用后续的定义内容。91.5对象职责由下属对象协作实现(1)我们费尽心思做出一种类后,假如不得不又新建一种类,令其实现大致相同的功能,那会是一件非

7、常令人灰心的事情。但若能利用现成的类,对其进行“克隆”,再根据情况进行添加和修改,情况就显得理想多了。“继承”正是针对这个目标而设计的。但继承并不完全等价于克隆。101.5对象职责由下属对象协作实现(2)有两种做法可将新得的衍生类与原来的基础类区分开。第一种做法:为衍生类添加新函数(功能)。一般都是意识到基础类不能满足我们的要求。新类“类似”原类第二个办法是改变基础类一个现有函数的行为。我们将其称作“改善”那个函数。只需为衍生类的函数建立一个新定义即可。我们的目标是:“尽管使用的函数接口未变,但

8、它的新版本具有不同的表现”。新类“等价”原类111.5对象职责由下属对象协作实现(3)由于类为“圆”(Circle)的一个对象也属于类为“形状”(Shape)的一个对象,所以一个圆完全能接收形状消息。这意味着可让程序代码统一指挥“形状”,令其自动控制所有符合“形状”描述的对象,其中自然包括“圆”。这一特性称为对象的“可替换性”,是OOP最重要的概念之一。若通过继承增添了一种新类,如“三角形”,那么我们为“形状”编写的代码不用改变。所以说程序具备了“扩展能力”。122、从实例理解面向对象设计思想假

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

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

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