第9章 面向对象方法解析.ppt

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章 面向对象方法学引论 9.1 面向对象方法学概述 9.1.1 面向对象方法学的要点 面向对象方法学的基本原则:尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程。 客观世界中的实体——问题域中的对象; 计算机中的实体——解空间对象; 解空间对象取决于程序设计语言: 汇编语言的对象:存储单元; 面向过程的高级语言的对象:变量、数组、记录、文件等; 面向对象的高级语言的对象:除上述元素外,还包括窗体、菜单、按钮、等等。 与传统方法不同,面向对象方法以数据为主线,将数据和操作方法封装在对象中,通过消息请求对象主动执行它的内部操作,改变其内部私有数据。 面向对象方法具有四个要点: A.认为客观世界是由对象组成; B.把所有对象都划分成各种对象类(Class); C.把若干对象类组成一个层次结构的系统(类等级); D.对象彼此间仅通过传递消息互相联系。 OO = Objects + Class + Inheritance + Communication with message 9.1.2 面向对象方法的优点 1.与人们习惯的思维方法一致; 2.稳定性好; 3.可重用性好; 4.较易开发大型软件产品; 5. 可维护性好。 9.1.3 喷泉模型 9.2 面向对象的概念 9.2.1 对象 1、对象的形象表示 状态S 操作1 操作2 操作3 界面 操作1、2、3的实现 图9.2 对象的形象表示 1)定义1:对象是具有相同状态的一组操作的集合。 2)定义2:对象是对属性值和操作的封装。 3)定义3:对象::= ID, MS, DS, MI 其中,ID是对象的名字;MS是对象中的操作集合;DS是对象的数据集合;MI是对象受理的消息名集合(即对外接口)。 2、对象的定义 状态S 操作:f1, f2, …, fn 转换:g1, g2, …,gn 图9.3 用自动机模拟对象 转换:新状态S’=gi (X,S) 输出 fi (X, S) 输入fi , X 3、对象的特点 1)以数据为中心; 2)对象是主动的; 3)实现了数据封装; 4)本质上具有并行性; 5)模块独立性好。 9.2.2 其他概念 1、类(Class) 类就是对具有相同数据和相同操作的一组相似对象的定义。 如:Circle类具有相同的数据(圆心坐标、半径、颜色)和相同的操作(显示自己、放大缩小半径、在屏幕上移动位置)。 类有私有变量(Private)和公有变量(Public)。 实例就是由某个特定的类所描述的一个具体的对象。 如:Circle a ; //声明Circle类实例a Queue Q1, Q2; //声明Queue类实例Q1和Q2 2、实例(Instance) 消息就是用来请求对象执行某个处理或回答某些信息的要求。 消息既可以是数据流,也可以是控制流。一条消息可以发送给不同的对象,对消息的解释完全由接收信息的对象来完成,不同的对象对相同形式的消息可以有不同的解释。 3、消息(Message) 与传统程序的“调用/返回”所不同的是,对于传来的消息,对象可以返回相应的回答信息,也可以不返回。 一个消息由三个部分组成: 1)接收信息的对象; 2)信息选择符(即消息名); 3)零个或多个变元(参数)。 如:MyCircle.Show(GREEN); 4、方法(Method) 方法,是对象所能执行的操作。 成员函数,如Circle类中定义的成员函数:Show(int color) 5、属性(Attribute) 属性,是类中定义的数据。 6、封装(encapsulation) 封装就是信息隐藏,通过封装对外界隐藏了对象的实现细节。 7、继承(Inheritance) 继承,是指能够直接获得已有的性质和特征,而不必重复定义它们。 A的操作 A的变量 类A A的实例变量 从A的继承特性 B的操作 B的变量 类B 继承来的A的实例变量 B的实例变量 类A A的实例a1 B的实例b1 类B:A的子类 图9.4 实现继承机制的原理 8、多态性(Polymorphism) 多态性,指子类对象可以

文档评论(0)

2299972 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档