- 1、本文档共81页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
# 面向对象分析与设计 易国洪 第二章 对象的概念 2.1 对象的概念 理解软件对象的含义 理解对象使用消息进行交流以完成任务的方式 理解不再需要某对象时会发生什么(垃圾回收机制) 理解类的含义 理解重用代码的 通常公认的第一个面向对象的语言是1967年由Dahl和Nygaard在挪威开发的Simula-67,虽然该语言从来没有得到大量的拥护者,但是它的概念给后来的语言已很大的启发。 Smalltalk在20世纪80年代早期得到了广泛的使用,20世纪80年代晚期跟着出现了其他的面向对象的语言如 Objective C,C++,Eiffel等 Java(1995 Oak)1996年1月发布第一个Java编译器 C#(2001) 第二章 对象的概念(续) 2.2 什么是对象 世界上所有的事物都可以称为对象。对象可以是有形的如:一台电视机等。 也可以是无形的如:帐户、一项记录等。 一个对象就是一个独立存在的客观事物,它由一组属性和一组操作构成。 2.2 什么是对象 2.2 什么是对象 属性和操作是对象的两大要素。属性是对象静态特征的描述,操作是对象动态特征的描述。对象名也称为对象标识。 如电视的属性有:品牌、尺寸、重量等。操作有:收视、选台、音量调节等 在编程术语中,对象是独立的模块,有自己的知识和行为。 可以把软件对象看作机器人、动物或人。 2.2 什么是对象 状态/数据/属性 如果记录一个学生信息,需要哪些数据? 姓名 学号 出生日期 用于描述对象的数据元素称为属性。从整体考虑时,对象的属性值集合定义了对象的状态(或条件)。 2.2 什么是对象 行为/操作/方法/服务 学生和课程这两个对象各自的行为 学生的行为(至少是和学院相关的行为): 注册一门课程 取消一门课程 选择一个导师 课程这样没有生命的、概念上的对象具有哪些行为有点困难,但如果把课程想象成有生命的事物,可以认为课程的行为有: 2.2 什么是对象 课程对象的行为有: 允许学生注册 确定某个学生是否注册了该课程。 告知迄今为止有多少学生注册该课程 告知该课程的先修课程是什么? 告知该课程需要多少学时? 讨论具体的软件对象时,对象的行为(也称为操作)定义为对象为了访问属性值(数据)和修改/维护属性值所做的事 2.2 什么是对象 对象的所有值集合定义了对象的状态,因而可以理解操作能够改变对象状态。 对象操作是将对象行为看作对象作为应用程序可以被请求的服务。 Java语言编程实现对象行为时,表示操作的那部分代码成为方法。然而,严格地说,操作用于指代概念上的行为。 2.2 什么是对象 2.2 什么是对象 2.2 什么是对象 2.2 什么是对象 2.2 什么是对象 2.2 什么是对象 2.2 什么是对象 2.2 什么是对象 2.2 什么是对象 2.2 什么是对象 2.2 什么是对象 2.2 什么是对象 2.2 什么是对象 2.2 什么是对象 2.3相同还是相等 2.4 描述对象 2.5 封装 封装是指对象在操作中隐藏属性 封装的实质是:当一个对象执行自己的操作时,它对外界隐藏了操作的细节 2.5 封装 发现并封装变化点 共同点/变化点/抽象类 2.6 关联、聚合、组合 关联是类之间的结构关系,它描述了一组链,链是对象(类的实例)之间的连接。它指明一个事物的对象与另一个事务的对象间的联系。如给定一个连接两个类的关联,可以从一个类的对象联系到另一个类的对象。 聚合是一种特殊类型的关联,它描述了整体和部分间的结构关系。 组合是紧密形式的聚合,它包含一种拥有关系。 School与department之间的聚合关系组合聚合。 2.7 图和树 图是对象之间连接的一个任意集合,关联之中的对象常常会形成图, 聚合之中的对象常常会形成树。 2.9 消息 每个对象都至少与另一个对象联系,孤立的对象对任何人来说,都是没有意义的。 对象一旦建立了联系就可以协作。对象在协作时要相互发送消息。 消息就是向对象发出的服务请求,它应该含有下述信息:提供服务的对象标识,服务标识、输入信息和回答信息。 2.10 启动操作 消息启动操作。 事件启动操作。 2.11 协作示例 2.11 协作示例 2.12 面向对象程序的工作原理 面向对象的程序在工作时,要创建对象,把他们连接在一起,让他们彼此发送消息,相互协作。谁启动这个过程?谁创建第一个对象? 为了解决这个问题,面向对象的程序必须有一个入口点(entry point)。 2.13 垃圾收集 当创建对象的程序不再使用该对象了,该怎么办? 每个对象都要占用内存的一个小区域。 JAVA语言,每个程序都有一个运行时系统(run-time System)它在我们编写的代码后面执行,执行内务操作,如垃圾回收 纯面向对象语言JAVA ,C#,Eiffel,S
您可能关注的文档
最近下载
- 专题5.3主视图、左视图、俯视图【七大题型】(举一反三)(苏科版)(原卷版+解析).docx VIP
- 系统稳定性优化方案.docx VIP
- 飞行器制造工程专业职业生涯规划书.pptx
- 东北大学大学物理课件-第八章电磁感应电磁场.ppt VIP
- 电大一网一《Java语言程序设计》山东开放大学形成性考核一-100分.doc VIP
- 美团_W-市场前景及投资研究报告:本地生活领先者,组织改革,AI赋能,饿了么.pdf
- 思想道德与法治第三章.pptx VIP
- 核物理与辐射安全智慧树知到期末考试答案章节答案2024年哈尔滨工程大学.docx
- Unit 9考点梳理-九年级英语全一册(人教版).docx
- 2015汽车nvh技术.ppt VIP
文档评论(0)