




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二讲 面向对象技术主讲人:1主要内容面向对象技术的提出什么是面向对象技术对象类封装性2问题的提出传统的结构化程序设计(Structured Programming-SP)方法 使用SP方法设计程序的步骤数据声明数据处理结果输出在数据处理过程中,采用的是自顶向下、分而治之的方法,将整个程序按功能划分为几个可独立编程的子过程模块,每一子模块完成指定的子任务,并且提供一个清晰、严格的调用界面,主过程通过调用各子过程完来成全部处理工作 。3f(1)过程/函数f(2)f(2)f(3)数据结构BAC返回4存在的问题(1)数据和函数分开,重叠的数据存取使并行性和完整性的问题变得复杂(2)本质上是面向过程的
2、,以功能和需求为核心,而“功能”和“需求”又是不稳定和多变的,因此程序代码经常要进行修改,不易维护。(3)程序代码可重用性差。程序中除少数标准库函数外,每设计一个程序时,程序员几乎从零做起。即使重用代码,通常也是通过拷贝或编辑重新生成一份。5如何解决面向对象技术(Object-Oriented Programming -OOP)6何为面向对象技术与面向过程相对应(结构化程序设计)心理学研究表明,客观世界由许多对象组成,对象具有其属性和行为,对象之间存在着各种联系,这样能够更好的刻画问题域,也更接近人类的自然思维方式。这就是面向对象程序开发思想的由来。面向对象的程序设计方法强调直接以问题域(现实
3、世界)中的事物为中心来思考和认识问题,并按照这些事物的本质特征把它们抽象为对象,以作为构成软件系统的基础。7f(1)f(2)数据结构简单类(规则) + 复杂联系 = 复杂系统 接口函数数据比较8面向对象与面向过程设计对比是一种数学思维或计算机思维方法,与人们认识世界的方法不同以不稳定的、多变的“过程”和“操作” 为中心来构造系统可重用性较差是建立在认识方法学基础上的一项技术科学,比较自然地模拟了人类认识客观世界的方式;以相对稳定的“对象” 为中心来构造系统可重用性较好面向过程程序设计面向对象程序设计9将设计目标从模拟现实世界的行为转向了模拟现实世界中存在的对象及其各自的行为。 面向对象程序设计
4、是在吸取结构化程序设计的一切优点的基础上发展起来的一种新的程序设计方法。它的本质是把数据和处理数据的过程当成一个整体对象。在OOP中,将“对象”作为系统中最基本的运行实体,整个程序即由各种不同类型的对象组成,各对象既是一个独立的实体,又可通过消息相互作用,对象中的方法决定要向哪个对象发消息、发什么消息以及收到消息时如何进行处理等。面向对象技术10对象(Object)对象是客观世界中的事物在人脑中的映像,这种映像通过对同一类对象的抽象反映成人的意识,并做为一种概念而存在。每个对象都具有属性(Attribute)和方法(Method)这两方面的特征。对象的属性描述了对象的状态和特征,对象的方法说明
5、了对象的行为和功能,并且对象的属性值只应由这个对象的方法来读取和修改,两者结合在一起就构成了对象的完整描述。 11对象例一例 1:考虑对象 “学生”,具体描述为:对象名属性操作学号、姓名、专业、性别、年龄、身份证号、电话等等获取和修改学号、姓名、专业、性别、年龄等等学生( 表一 )注意点: 一体性 三者成为一体12对象例二例 2:对象 “课程” 的有关抽象描述。对象名属性操作课程课程名、编号、学时数、选课要求、任课教师等获取并修改课程名、编号、学时数、选课要求、任课教师等(表二 )注意点: 1. 属性是对对象的静态描述. 2. 操作是对对象的动态描述. 外部是通过调用服务与对 象取得联系.13
6、类(Class)具有相似属性和行为的一组对象,就称为类。可见,有了类的概念以后,就可以对具有共同特征的事物进行统一描述类是面向对象语言必需提供的用户定义的数据类型,它将具有相同状态、操作和访问机制的多个对象抽象成为一个对象类。14类与对象的关系从一般意义上讲,对象(Object)是现实世界中的客观事物。类是把具有相同属性的事物划分为一类,从而得出的抽象概念。15类与对象的关系类与对象的关系 类 对象 抽象定义 实例 学生 学生王强 汽车 桑塔纳,奔驰,宝马 类型 变量, 如 C 语言中的 int 和 int x; 16类的特点-封装与隐藏将算法和数据结构有机集成在一起传统方法:数据和操作分离支
7、持模块化程序设计类成为基本的模块,作为程序设计的基础保护私有成员,隐藏实现细节使程序的可维护性、安全性得到保证17封装(Encapsulation)面向对象语言把数据和操作封装于对象体之中,并提供一种访问机制,使对象的“私有数据”仅能由这个对象的操作来执行。用户只能通过允许公开的操作提出要求(消息),才能查询和修改对象的状态。18封装封装是面向对象方法的一个重要原则。它有两个涵义:第一个涵义是,把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位(即对象)。第二个涵义也称作“信息隐蔽”,即尽可能隐蔽对象的内部细节,对外形成一个边界(或者说形成一道屏障),只保留有限的对外接口使之与外部发生联系。这主要是指对象的外部不能直接地存取对象的属性,只能通过几个允许外部使用的服务与对象发生联系。f(1)f(2)数据结构接口19封装的例子键盘电视机手机20面向对象技术的特点(1)以对象为中心。由于对象自然地反映了应用领域的模块性,因此具有相对稳定性,可以被用作一个组件去构成更复杂的应用,又由于对象一般封装的是某一实际需求的各种成分,因此,某一对象的改变对整个系统几乎没有影响。(2)封装性。实现细节隐藏,增强了安全性和简化编程,使用者不必了解具体的实现细节,而只需要通过外部接口,以特定的访问权限,来使用类的成员(3)可复用性。新的应用程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度企业员工借款合同续签及调整协议
- 2025年度校园保安服务与校园内校园建筑设施维护合同
- 2025年度智能化厂房租赁及物联网服务合同
- 2025年度旅游景区停车位使用权转让及管理协议
- 二零二五年度教育行业员工劳动权益与教学质量合同
- 二零二五年度公司经理信息技术与网络安全聘用协议
- 2024年上海市高级职称评审的要求
- 二零二五年度拆除工程房屋安全协议及拆除施工监督
- 二零二五年度教育机构教职工劳动合同范本
- 项目总监年终述职报告
- 《会计职业规划》课件
- 2025年春新人教版语文一年级下册教学课件 语文园地三
- 设计单位施工期间配合及技术服务措施
- 2017年高考作文赏析课件(全国1卷)
- 2025年河北邮政招聘笔试参考题库含答案解析
- 操作系统知到智慧树章节测试课后答案2024年秋聊城大学
- 《古代生物的多样性》课件
- 硕士论文中期报告范文
- 法律单项服务合同范例
- 陕西省西工大附中2025届高考数学三模试卷含解析
- 《CT介入技术》课件
评论
0/150
提交评论