- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
八面向对象的系统开发方法.ppt
八 面向对象的系统开发方法 本章目标: 通过本章的学习,应了解 “面向对象”的基本概念与特征。应对“面向对象”的系统开发有一个整体的认识。 八面向对象的系统开发方法 引言 传统的“面向过程”的方法学是把世界分成两个部分,分别认知: 1)数据(Data):用于描述各种状态的数据结构; 2)过程(Procedures):就是操作这些状态数据的程序,有时也称为“算法”。 说得形象一些,它认为数据是静态的,不会自行改变的,而需要各种各样的过程来改为数据。您还记得“数据结构”+“算法”=程序,这一个伟大的等式吗?这就是“面向过程”方法学的精髓。 第八章 面向对象的系统开发方法 引言 举个例子,我们要将一块木头从目前的位置向北搬到距原地10米的地方,我们首先会定义一个表示木头的数据结构,存储位置、质量等状态信息,然后再编写一个算法操作这个表示木头的数据结构,以达到目的。 而“面向对象”的方法学则认为世界是由各种各样的对象(object)组成的,而每一个对象都有两个特征:状态(也称为属性)与行为(也称为方法)。 说得形象一些,每个组成世界的对象都是通过自己的行为来变化自身的状态,一切变化都是对象自身、或对象间的协调而产生的 。 第一节 面向对象的基本概念及特征 所谓“面向对象”是一种认识客观世界的世界观,从结构组织角度模拟客观世界的一种方法,人们在认识和理解现实世界的过程中,普遍运用以下三个构造法则: (1)区分对象及其属性,如区分车和车的大小; (2)区分整体对象及其组成部分,如区分车和车轮; (3)不同对象类的形成及区分,如所有车的类和所有船的类。 因而,客观世界可以看成由许多不同种类的对象构成,每个对象都有自己的内部状态和运动规律,不同对象间的相互联系和相互作用构成了完整的客观世界。 第一节 面向对象的基本概念及特征 一、面向对象的基本概念 1、对象:是一种对客观事物的抽象,它由状态(属性)和行为(方法)组成。 ? 下面,我们就使用一个图,来帮助大家认识对象。正如图2-1所示,我们使用一个大圆来表示一个对象,中间的一个小圆圈定义了这个对象的各种状态信息,外面则是各种各样的行为,通过执行这个对象的行为,就会改变这个对象的状态。 第一节 面向对象的基本概念及特征 图2-1 木头对象示意图 第一节 面向对象的基本概念及特征 2、类 :是对象的集合也就是由所有相似对象的状态变量(属性变量)与行为(方法)所构成的模板或原型。 我们首先定义了“笔店”这个类,它拥有4个属性: 1) 铅笔; 2) 钢笔; 3) 圆珠笔; 4) 其它笔 同时还定义了三个行为: 1)卖出:将属性的值减少,表示卖出; 2)进货:将属性的值增加,表示进货; 3)盘点:打印出属性的值; 第一节 面向对象的基本概念及特征 3、消息传递 在前面,我们说到在面向对象的世界中,一切变化都是对象自身、或对象间的协调而产生的。那么它们是如何进行协商的呢? 在面向对象的程序设计中,我们采用一种叫消息传递(Message Passing)的机制来实现。消息从一个对象发到另一个对象,使另一个对象完成某一个行为。 通常,我们把发送消息的对象称为“发送对象”(sender),而把接受消息的对象称为“接受对象”(receiver)。其工作如下图所示: 第一节 面向对象的基本概念及特征 图2-2 消息传递机制工作示意图 第一节 面向对象的基本概念及特征 4 、继承 :是指一个类(即称子类)因承袭而具有另一个类(或称父类)的能力和特征的机制或关系。 例如,汽车中有货车、客车、轿车……: 1) 用于运输货物的汽车叫货车; 2) 用于运输旅客的汽车叫客车; 3) 豪华的、较低矮、较小的、有钱人(:-P)坐的汽车叫轿车。 而汽车、货车、客车、轿车都是类!在本例中,汽车这个类是货车、客车、轿车这三个类的超类(Superclass),而货车、客车、轿车这三个类则是汽车这个类的子类(subclass)。 第一节 面向对象的基本概念及特征 这四个类(超类与子类)的关系,可以通过下面这个图来表示: 第一节 面向对象的基本概念及特征 为什么要引入继承的概念呢? 继承机制提高了“软件可复用性”。大家应该知道,在结构化的程序设计中,我们常常将一些经常要使用的功能模块写成子程序,供程序调用,这样会大大提高开发效率。这也就是“软件复用”。 而通过继承,我们可以在已定义类的基础上无限地繁衍出更多的类,并且通过直接继承、新增、局部修改来
文档评论(0)