面向对象的概念课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《面向对象的概念课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 概念 课件
- 资源描述:
-
1、 什么是面向对象?很多初学者都会问起这个问题,软件工程学家Coad和Yourdon曾给出一个简单定义:面向对象=对象+类+继承+通信。如果一个软件系统使用上述4个概念设计并加以实现,则认为这个软件系统是面向对象的。面向对象技术的基本观点可以概括如下。(1)客观世界由对象组成,任何客观实体都是对象,复杂对象可以由简单对象组成。(2)具有相同数据和操作的对象可归纳成类,对象是类的一个实例。(3)类可以派生出子类,子类除了继承父类的全部特征外还可以有自己的特性。(4)对象之间的联系通过消息传递来实现。由于类的封装性,它具有某些对外界不可见的数据,这些数据只能通过消息请求调用可见方法来访问。面向对象方
2、法的基本出发点就是尽可能地按照人类认识世界的方法和思维方法来分析和解决问题,使人们分析、设计一个系统的方法尽可能接近认识一个系统的方法。下面分别介绍面向对象的几个核心元素。1.1对象(object)面向对象方法就是以对象为中心、为出发点的方法,所以对象的概念相当重要。现代汉语词典(商务印书馆,1996)的解释是:对象是行动或思考时作为目标的人或事物。广义地讲,对象可以是任何人或事物。在00方法中,对象同样有上述的含义。不过,可以定义得更精确一些:对象是一些属性及专用服务的封装体,它是问题空间中些东西的抽象。在面向对象的系统中,对象是基本的运行时的实体,它既包括数据(属性),也包括作用于数据的操
3、作(行为)。所以一个对象把属性和行为封装为一个整体。一个对象通常可由对象名、属性和操作3部分组成。由以上定义可知,对象就是我们在问题空间中要考虑的那些人或事物,它具有一组属性和一组操作,这些属性的值刻画了一个对象的状态;这些操作是对象的行为,通过它们改变对象的状态(即属性值)。对象尽可能自然而又灵活地模拟现实世界,这使我们能更准确地描述世界。数据和操作封装于对象的统一体中,它们不是分开的。这样,对象就具有较强的独立性和自治性,具有很好的模块性,为软件重用奠定了坚实的基础。考虑一个简单的对象:counter(计数器)。它有一个属性value保存计数器计数值。有三个服务:init()置value为
4、“0”,dec()使value减“1”,inc()使value增“1”。它们之间的关系如图5-1所示。图5-1 counter 对象 countervalueinit()dec()inc()1.2 封装(encapsulation)封装即信息隐藏。是面向对象方法的一个重要原则。封装是指把属性和操作封进一个对象里,它的内部信息对外界隐藏,不允许外界直接存取对象的属性,只能通过对象提供的有限的接口对对象的属性数据进行操作。对于外界来说,只能得知对象的外部行为而无法了解对象行为的内部实现细节,这样可以保证对象内部属性数据的安全性。当开发一个总体程序结构时,程序的每个成分应该封装或隐蔽一个单一的模块,
5、定义每一模块时应尽可能少地显露其内部处理。对象是个很好的封装体。它向外提供的界面包括一组数据结构(属性)和一组操作(服务),而把内部的实现细节(如函数体)隐蔽起来。把最不稳定的部分封装起来,需求变化就不太可怕了。对象实现了数据抽象,把数据和服务封装于一个内在的整体。因为这二者本来就是一个内在的整体,分离开来是不明智的。与封装密切相关的一个术语是可见性。它是指对象的属性和服务允许对象外部存取和引用的程度。我们已经讨论了封装的好处,然而封装也有它的副作用。如果强调严格的封装,则对象的任何属性都不允许外部直接存取,因此就要增加许多没有其它意义,只负责读或写的服务。这为编程增加了负担,增加了运行开销,
展开阅读全文