第9章面向对象方法学引论.ppt
《第9章面向对象方法学引论.ppt》由会员分享,可在线阅读,更多相关《第9章面向对象方法学引论.ppt(58页珍藏版)》请在三一办公上搜索。
1、第9章 面向对象方法学引论,计算机与信息工程学院梁 颖,问题:生产率发展缓慢 社会需求 软件重用程度低 软件难于维护 软件不能满足用户的需要(不一致+不稳定),传统方法学存在的问题,原因:僵化的瀑布模型 模糊的需求+缺乏沟通+过时 结构化技术的缺点偏差 用户需求-功能 软件设计-过程,传统方法学存在的问题,如果在软件工程过程的早期和全程采用面向对象技术,则该技术将产生更多的优势。仅仅使用面向对象程序设计(OOP)将不会产生最好的结果,软件工程师及其管理者必须考虑面向对象需求分析(OORA)、面向对象设计(OOD)、面向对象领域分析(OODA)等。Edward Berard,面向对象方法学的引入
2、,传统软件工程方法学,软件的生命周期为:陈述需求阶段;规格说明阶段;设计阶段;实现阶段;维护阶段。面向对象方法学,软件的生命周期为:陈述需求阶段;面向对象分析阶段;面向对象设计阶段;面向对象实现阶段;维护阶段。,面向对象方法的出发点:尽可能地模拟人的思维方式去解决问题 以对象为中心:特殊 归纳-一般-演绎-特殊 问题空间与解空间的矛盾 客观世界的动态特性解空间的复杂算法 运动与实体的统一 解空间程序与数据的分离,面向对象方法学的引入,面向对象方法学的要点:客观世界都是由对象组成的。所有的对象都可以划分为抽象的类。可按照子类与父类的关系组成类的层次结构。对象彼此间通过传递消息互相联系。,面向对象
3、方法学的引入,Coad&Yourdon的定义(1991):OO=objects+classes+inheritance+communication with messages面向对象方法:使用对象又使用类和继承机制,而且对象之间仅能通过传递消息实现彼此通信。基于对象方法:使用 对象+消息。基于类的方法:使用 对象+消息+类。,面向对象方法学的引入,面向对象方法学的优点:与人类习惯的思维方法一致;系统稳定性好;可重用性好;较易开发大型软件产品;可维护性好。,面向对象方法学的引入,(1)与人类习惯的思维方法一致传统的程序设计技术:以算法为核心,数据和过程相分离。面向对象的软件技术:以对象为核心。对
4、象是封装了描述内部状态表示静态属性的数据及这些对数据施加的操作。,面向对象方法学的引入,(2)系统稳定性好传统的程序设计技术:开发过程基于功能分析和功能分解,建立起来的软件结构紧密依赖系统功能,需求变化时引起软件结构的整体修改,因此软件系统不稳定。面向对象的软件技术:以对象为核心构造软件系统。对系统功能需求变化时不会引起软件结构的整体变化,仅需做一些局部性修改,软件系统稳定性较好。,面向对象方法学的引入,(3)可重用性好传统的程序设计技术:具有功能内聚性的模块,且其完成一个且只完成一个相对独立的子功能,则该模块是理想的可重用模块。面向对象的软件技术:对象具有自含性、封装性和信息隐藏机制,使得对
5、象内部与外界隔离,具有较强的独立性,对象是比较理想的模块和可重用的软件成分。,面向对象方法学的引入,思考:重用与重构的区别,面向对象方法学的引入,(4)较易开发大型软件产品 大型软件产品可分解成一系列相互独立的小产品来处理,降低了开发难度,同时开发管理变得很容易。,面向对象方法学的引入,(5)可维护性好 面向对象的软件稳定性比较好;面向对象的软件比较容易修改;面向对象的软件比较容易理解;易于测试和调试。,面向对象方法学的引入,概念 对象(object):一个包含数据结构和施加其上的操作的封装体。类(class):对具有相同属性和行为的一个或多个对象的描述。类中定义的数据(实体的性质),称为属性
6、(Attribute)类中的操作(服务),称为方法(Method)实例(instance):某个特定的类所描述的一个具体对象。类是支持继承的抽象数据类型,对象是类的实例。,9.1 基本概念,9.1 基本概念,练习:1.分析下列对象之间的关系 家具、沙发、衣柜、电视柜 服装、衬衣,裤子 家用电器、电视、DVD机、组合音响2.为什么说夏利牌汽车是小汽车类的特化,而发动机不是小汽车类的特化?,基本概念,客观世界存在的两类关系:整体和部分的关系;一般和特殊的关系,消息(message):消息是对象间交互的手段,消息刺激接收对象产生某种行为。消息的构成:接收消息的对象;消息名;若干变元。MyCircle
7、.Show(GREEN)方法(method):对象所能执行的操作,即类中定义的服务。Show(int color)给出成员函数的实现代码属性(attribute):对客观世界实体所具有的性质的抽象。,基本概念,封装(encapsulation):又称信息隐藏。用户只能见到对象封装界面上的信息,对象内部对用户是隐蔽的。封装的目的是将对象的使用者与设计者分开。封装有效的实现了模块化。对象封装性的条件:有一个清晰的边界;有确定的接口;受保护的内部实现。,基本概念,继承(inheritance):能够直接获得已有的性质和特征,而不必重复定义。软件重用的一种形式。,实现继承机制的原理,基本概念,一个子类
8、从它的父类那里继承了所有的数据和操作,并扩充自己的特殊数据和操作。父类抽象出共同特征,子类表达差别。,基本概念,继承具有传递性:若类C继承类B,类B继承类A,则类C继承类A。属于某类的对象除了具有该类所描述的性之外,还具有类等级中该类上层全部基类描述的一切性质。采用继承机制的软件,进行修改:扩充原有功能:在派生类中增加必要的程序代码;改变原有操作:在派生类中实现一个与基类同名而算法不同的方法;增加新的功能:在派生类中实现一个新的方法。,基本概念,多态性(polymorphism):类等级的不同层次可共享一个行为的名字,然后不同层次的类可按自己需要实现这个行为。C+语言中,多态性是通过虚函数来实
9、现的。虚函数机制可允许在一个类等级中使用相同函数的多个不同版本,运行时更具接收消息的对象所属的类决定执行哪个版本。,基本概念,重载(overloading)函数重载:在同一个作用域内的若干个参数特征不同的函数可以使用相同的函数名字,表达了最简单的多态性。如:void value(int);int value();运算符重载:同一个运算符可以施加于不同类型的操作数上面。如:两个整数使用+运算符表示它们要做加法,而两个字符串可以使用+运算符则表示串连接。,基本概念,9.2 面向对象建模 模型:为了理解事物而对事物作出的一种抽象,是对事物的一种无歧义的书面描述。模型=图示符号+规则 利用符号和规则来
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 方法 引论

链接地址:https://www.31ppt.com/p-5286115.html