面向对象方法学

一、面向对象方法学
适用范围:面向对象的软件开发方法适用于大型软件产品的开发。
面向对象的软件开发方法四个要素:00 = 对象 + 类 + 继承 + 传递消息实现通信
面向对象的开发方法开发出来的软件是由一个个的对象组成的;支持类的机制;支持继承机制;对象与对象之间通过传递消息实现通信。
面向对象方法学的概念
(一)、对象
1.定义:具有相同状态的一组操作的集合,对状态和操作的封装。
在这里插入图片描述
对象: 状态S和对状态S进行的三个操作,统一封装到对象里面,对外只提供三个操作的接口。
在这里插入图片描述
把上面的三个多边形映射为三个对象,1、2、3分别为三角形对象,有三个顶点,有对三个顶点进行的操作;两个四边形的对象,分别有四个顶点, 以及对四个顶点进行的操作。
(二)、类
对具有相同状态和相同操作的一组相似对象的定义。
在这里插入图片描述
两个四边形对象,具有相同的状态—都有四个顶点,具有相同的操作–都有对四个顶点具有三个相同的操作,提取共性的东西,形成第三个抽象的数据类型,叫做四边形类。 (不存在一个四边形的,只存在一个具体的四边形,即类不是对象的集合,类是对象的抽象)
(三)、实例
实例:是由某个特定类所描述的一个具体对象。
(四) 消息
要求某对象执行某个操作的规格说明。
三个组成:接收消息的对象;消息名;0或多个变元。
在这里插入图片描述
上述消息例子,接收消息的对象+消息名+参数。
(五)、方法和属性
方法:对象执行的操作,即类中定义的服务。如draw(),要给出实现代码。
属性:类中所定义的数据,对客观世界实体具体性质的抽象。
如:Quadrilateral类中的point1、point2、point3、point4.
(六)、继承
子类自动共享基类中定义的属性和方法的机制。
在这里插入图片描述
在这里插入图片描述
(七)、多态性
在类等级不同层次可共享一个方法名,不同层次每个类按各自需要实现这个方法。(同一种方法有多种不同的实现形式)
A是基类,B和C是A的派生类,多态函数Test参数是A的指针,Test函数可以引用A、B、C的对象。
优点:
提高程序可复用性(接口设计的复用,不是代码实现的复用);派生类的功能可被基类指针引用,提高程序的可扩展性和可维护性。
(八)、重载
1.函数重载
在同一作用域中,参数特征不同的函数可使用相同的名字。
在这里插入图片描述
优点:
调用者不需要记住功能雷同的函数名,方便用户;程序易于阅读和理解。
2.运算符重载
同一运算符可施加于不同类型操作数上面。
例如:23+24;23.0+24.0
二、面向对象方法学–与传统方法比较
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1.与人类习惯思维方法一致
注:现实世界其实是一个一个的实体组成,每个实体都有自己的特性、行为,实体之间互相交互;传统方法在解决现实世界问题时,是1.实体拆分开来,把他的特性用数据表达,行为用过程表达,这个观点符合计算机世界的观点,不符合现实世界的观点。也就是说用传统方法开发软件他的问题空间和解空间的结构不一致;面向对象的开发方法用对象来表达一个现实世界的实体,用对象之间的交互表达现实世界间各个实体的交互,使得问题空间和解空间结构一致。
2.稳定性好
软件系统结构根据问题领域模型建立,功能需求变化不会引起软件结构的整体变化,做局部性修改。
3.可重用性好
传统软件重用技术:有标准函数库,但大部分还得靠编程。
面向对象重用技术:类,派生类和创建类的实例。
4 易于开发大型软件产品
5.可维护性好
稳定、容易修改、容易理解,易于测试和调试。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值