面向对象方法学学习教案.pptx
上传人:王子****青蛙 上传时间:2024-09-13 格式:PPTX 页数:75 大小:2.2MB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

面向对象方法学学习教案.pptx

面向对象方法学学习教案.pptx

预览

免费试读已结束,剩余 65 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

面向对象方法学面向对象方法学的出发点和基本原则,是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,也就是使描述问题的问题空间(kōngjiān)(也称为问题域)与实现解法的解空间(kōngjiān)(也称为求解域)在结构上尽可能一致。概括地说,面向对象方法具有下述4个要点:(1)认为客观世界是由各种对象组成的,任何事物都是对象,复杂的对象可以由比较简单的对象以某种方式(fāngshì)组合而成。按照这种观点,可以认为整个世界就是一个最复杂的对象。因此,面向对象的软件系统是由对象组成的,软件中的任何元素都是对象,复杂的软件对象由比较简单的对象组合而成。由此可见,面向对象方法用对象分解取代了传统方法的功能分解。(2)把所有对象都划分成各种对象类(简称为类,class),每个对象类都定义了一组数据(shùjù)和一组方法。数据(shùjù)用于表示对象的静态属性,是对象的状态信息。因此,每当建立该对象类的一个新实例时,就按照类中对数据(shùjù)的定义为这个新对象生成一组专用的数据(shùjù),以便描述该对象独特的属性值。类中定义的方法,是允许施加于该类对象上的操作,是该类所有对象共享的,并不需要为每个对象都复制操作的代码。(3)按照子类(或称为派生类)与父类(或称为基类)的关系,把若干个对象类组成一个(yīɡè)层次结构的系统(也称为类等级)。在这种层次结构中,通常下层的派生类具有和上层的基类相同的特性(包括数据和方法),这种现象称为继承(inheritance)。但是,如果在派生类中对某些特性又做了重新描述,则在派生类中的这些特性将以新描述为准,也就是说,低层的特性将屏蔽高层的同名特性。(4)对象彼此之间仅能通过传递消息互相联系。对象与传统的数据有本质区别,它不是被动地等待外界对它施加操作,相反,它是进行(jìnxíng)处理的主体,必须发消息请求它执行它的某个操作,处理它的私有数据,而不能从外界直接对它的私有数据进行(jìnxíng)操作。也就是说,一切局部于该对象的私有信息,都被封装在该对象类的定义中,就好像装在一个不透明的黑盒子中一样,在外界是看不见的,更不能直接使用,这就是“封装性”。1.与人类习惯的思维方法一致传统的程序设计技术是面向过程的设计方法,这种方法以算法为核心,把数据和过程作为相互独立的部分,数据代表(dàibiǎo)问题空间中的客体,程序代码则用于处理这些数据。2.稳定性好传统的软件开发方法以算法为核心,开发过程基于功能分析和功能分解。用传统方法所建立起来(qǐlái)的软件系统的结构紧密依赖于系统所要完成的功能,当功能需求发生变化时将引起软件结构的整体修改。事实上,用户需求变化大部分是针对功能的,因此,这样的软件系统是不稳定的。3.可重用性好用已有的零部件装配新的产品,是典型(diǎnxíng)的重用技术,例如,可以用已有的预制件建筑一幢结构和外形都不同于从前的新大楼。重用是提高生产率的最主要的方法。4.较易开发大型软件产品在开发大型软件产品时,组织开发人员的方法不恰当往往是出现问题的主要原因。用面向对象方法学开发软件时,构成软件系统的每个对象就像一个微型程序,有自己(zìjǐ)的数据、操作、功能和用途,因此,可以把一个大型软件产品分解成一系列本质上相互独立的小产品来处理,这就不仅降低了开发的技术难度,而且也使得对开发工作的管理变得容易多了。这就是为什么对于大型软件产品来说,面向对象范型优于结构化范型的原因之一。5.可维护性好用传统方法和面向过程语言(yǔyán)开发出来的软件很难维护,是长期困扰人们的一个严重问题,是软件危机的突出表现。在应用领域中有意义的、与所要解决的问题有关系的任何事物都可以作为对象,它既可以是具体的物理实体的抽象,也可以是人为的概念,或者(huòzhě)是任何有明确边界和意义的东西。,对象是对问题域中某个实体的抽象,设立某个对象就反映了软件系统具有保存有关它的信息并且与它进行交互的能力。由于客观世界中的实体通常都既具有(jùyǒu)静态的属性,又具有(jùyǒu)动态的行为,因此,面向对象方法学中的对象是由描述该对象属性的数据以及可以对这些数据施加的所有操作封装在一起构成的统一体。对象可以作的操作表示它的动态行为,在面向对象分析和面向对象设计中,通常把对象的操作称为服务或方法。1.对象的形象表示为有助于读者理解对象的概念,下图形象地描绘了具有(jùyǒu)3个操作的对象。对象的形象(xíngxiàng)表示一个对象(duìxiàng)很像一台录音机。当在软件中使用一个对象(duìxiàng)的时候,只能通过对象(duìxiàng)与外界的界面来操作它。对象(duìxiàng)与外界的界面也就是