目录
一、绪论 1
二、对象概论 1
(一)对象的本质 1
(二)对象间的关系 2
(三)对象和类 3
三、对象模型 3
(一)抽象 3
1. 抽象的含义 3
2. 抽象在问题求解中的作用 4
(二)封装 4
(三)模块化 5
(四)层次 5
(五)继承 5
(六)多态 6
四、绘图工具开发:分析与设计 7
(一)OOA与OOD概述 7
(二)分析 7
(三)设计 8
五、绘图工具开发:实现 10
(一)OOP概述 10
(二)实现 10
六、小结 13
致谢 14
参考文献 14
面向对象探讨
【摘要】面向对象(Object-Oriented),一个影响着几代程序员的词汇,却很少有人能给出它的确切定义。也许对于面向对象,真的并不需要一个确切的定义,需要的只是一种默契,一种软件开发人员都需要拥有的默契。然而不可否认的是,面向对象一词的确是被不负责任地到处滥用。因此,本文将从什么是对象谈起,详细讲述了对象模型以及面向对象技术,力图让大家对面向对象有一个比较清晰的认识,建立一种正确对待面向对象的默契。
【关键词】对象,对象模型,面向对象的分析与设计,面向对象的程序设计
一、绪论
在开发一个软件的过程中,软件设计人员面临着两种选择:一个是把侧重点放在对象上,另一个是把侧重点放在功能上。
随着问题领域变得越来越复杂,这种基于功能的方法暴露出了越来越多的不适应。由于软件设计结构过于围绕实现确定好的功能,使得功能的增加、减少、修改和删除变得相当困难。这样的软件结构脆弱,功能集中,耦合度大,很难满足可扩充性、可维护性的要求。
相对于功能而言,对象要比功能稳定得多。无论功能如何变化,一个问题空间中的对象一般总能保持其不变性。良好的稳定性以及低耦合度等诸多方面的优点使得它很好的适应了现代软件设计的要求。
面向对象适应于最广阔的软件设计结构,但它不是万能的解决方案,滥用面向对象可能使结果变得更加的糟糕。我们不应该以极端的方式对待面向对象,而应该认真研究面向对象方法,深思熟虑,将面向对象纳入到软件开发的长期计划之中。
可以这么说,如果头脑中没有目标,那么面向对象的所有事物开销似乎都是昂贵的代价。然而,如果不仅知道做什么,而且知道为什么这样做,就能实现所追求的面向对象的目标。
二、对象概论
(一)对象的本质
现实生活中的对象并不是我们在软件开发过程中唯一感兴趣的对象。另一些重要的对象是设计过程的产物,它们和同类对象联合起来以提供一种更高级行为的机制。对象代表了一个单独的、可确认的物体、单元或实体,它可以是具体的也可以是抽象的,它在问题领域里有确切定义的角色。通用一点说,可以将对象定义成边界非常清楚的任何事物。认为对象是有着明确定义的边界的东西是有用的,但这还不足以把一个对象与另一个对象区别开来。一般认为,对象具有状态、行为和标识。类似对象的结构和行为在它们的共同类里定义。术语“实例”和“对象”是可以互换的。
对象的状态包括对象的所有属性(通常是静态的)和这些属性的当前值(通常是动态的)。属性是一种内在的或独特的性质、特点、质量或特征,它构成一个独一无二的对象。所有属性都有值,值可以是简单的数量,或者表示另一个对象。每个对象都有状态的事实告诉我们,不管是在现实世界还是在计算机的内存中,每个对象都占用了一定的空间。.
行为是一个对象根据它的状态改变和消息传送所采取的行动和所作出的反应。没有一个对象是孤立存在的,对象是被作用的,并且他们自己也作用于别的对象。对象的行为代表其对外的可见和可测试的活动。一个对象的行为就是对象状态的函数和对状态施加的操作,并且一些操作的副作用可以使对象的状态改变。操作是一个对象为了引起反应而施加于另一个对象的动作。由此可以说,对象的状态代表它的行为的累积结果。
标识是一个对象用来和所有其他对象相区分的特性。
(二)对象间的关系
任何两个对象之间的关系都包含其中一个对另一个的假设,包括可执行何中操作和产生何种行为后果。链和聚合是面向对象分析和设计中的两种对象层次,我们分别称之为上下级关系和亲/子关系。
链是对象之间的一个物理或概念联系。一个对象通过它与另一个对象之间的链而与这个对象协作。换句话说,链表示一个特殊关联,通过这个关联,一个对象(客户)应用另一个对象(提供者)的服务,或一个对象可通过这个关联导航到另一个对象上。只有通过链,一个对象才能给另一个对象传送消息。作为链中的一个参加者,对象可扮演3个角色:参与者,可在其他对象上操作但从不被其他对象操作的对象;服务者,从不在其他对象上操作的对象,它仅被其他对象操作;代理,既可以在其他对象上操作有可被其他对象操作的对象。
如下图所示,对象aController有到DisplayItem的两个实
论文-076-面向对象探讨 来自淘豆网m.daumloan.com转载请标明出处.