今天突然想到这个问题,觉得应该写点东西!
我认为应该是下面这些吧:

对象与类:用对象类作为系统的基本构成单位,符合可复用构件应具备的主要特性:

完整性——类的属性与服务完整地表达了事物的静态特征和动态特征。
独立性——类与外部的事物之间有明确的界限和较少的接口。
可标识性——类的命名与问题域中的事物概念吻合。
一般性——对象类是对实际事物的映射,客观性强。当其它系统中遇到同类事物时,用同样的对象类进行描述的可能性很大。

抽象:抽象意味着忽略事物的某些差异而提取其共同特征。OO方法的这一原则也正是定义可复用构件时所需遵循的。一个软件构件只有体现某种程度的抽象才能被用于细节互异的多个系统。

封装:把对象的属性与服务结合为一个完整的实体,屏蔽了对象的内部细节,对外之保留有限的接口。因此,它使对象类具有完整性、独立性等有益于复用的性质。

继承与一般-特殊结构:体现了不同层次的抽象。结构中的类适应于不同的复用范围。低层的类含有较多的信息;高层的类可在更广的范围内复用。根据这一原理,在系统开发中可以制造一些对其它系统可复用的一般类构件。继承也是构件的一种有效使用方式:可以把构件作为一般类使用,通过对它的继承而定义系统中的特殊类。

聚合与整体-部分结构:运用聚合原则,可以把一个难于复用的大的软件成分处理为由若干部分对象构成的整体对象,使其中的某些部分对象成为可复用性强的构件。聚合也是实现复用的一种有效方式,例如OLE就是把可复用的构件对象通过链接或嵌入而聚合为新的对象和新的应用。

粒度控制:运用的比对象和类粒度更大的概念(例如“主题”、“子系统”、“类簇”或其它类似概念),可把若干类组合为一个较大的软件成分。因此,用OO方法得到的可复用构件,不局限于对象类一种形式,也可以是由若干类组成的较大的构件。

多态性:对象的多态性使对象在不同的使用条件下可以具有不同的语义。以这样的对象类、结构或主题作为可复用构件,将符合更多应用系统需求,因此具有较强的适应性。

面向对象方法为何有利于软件复用?相关推荐

  1. 论面向对象方法与软件复用关系-z

    1.软件复用的特点和现状 软件复用就是将已有的软件成分用于构造新的软件系统.可以被复用的软件成分一般称作可复用构件,无论对可复用构件原封不动地使用还是作适当的修改后再使用,只要是用来构造新软件,则都可 ...

  2. 面向对象方法,编程,设计,测试

    OOA Object-Oriented Analysis:面向对象分析方法是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题.OOA与结构化分析有较大的区别.OOA所强调的是 ...

  3. 【软件工程】面向对象方法

    前言 面向对象已经听说过很多次了,今天就来总结一些简单的面向对象方法的知识. 面向对象的软件开发是一种新的软件工程方法,其基本思想是尽可能按照人类认识世界的方法和思维方式来分析和解决问题.所谓面向对象 ...

  4. 《面向对象分析与设计》一1.4面向对象方法的主要优点

    1.4面向对象方法的主要优点 本节从认识论的角度和软件工程方法的角度看一下面向对象方法带来的益处,并把面向对象方法与传统方法进行比较,看面向对象方法有什么优点. 从认识论的角度面向对象方法改变了开发软 ...

  5. 结构化方法与面向对象方法

    结构化方法与面向对象方法 一.结构化方法 1.1结构化方法概述 结构化方法起源于结构化程序设计,具有面向功能.结构清晰.支持逐步求精等特点,使软件易于维护.在运用结构化开发方法时,设计人员首先需要运用 ...

  6. 结构化方法与面向对象方法之比较

    结构化方法与面向对象方法之比较 随着计算机软硬件各方面的飞速发展,计算机领域的观念和方法日新月异.面向对象方法始于20世纪60年代挪威奥斯陆大学和挪威计算机中心共同研究的SMULA语言.70 年代,人 ...

  7. 面向对象方法综述(工具<方法<思维<价值观)

    思想起源于上世纪六十年代(和结构化方法一样) 最早的OOPL:Simula67 最纯的OOPL:Smalltalk smalltalk的贡献:它在系统设计中强调对象概念的统一,引入对象,对象类,方法, ...

  8. 结构化方法与面向对象方法的比较

    本博客旨在通过基本概念.主要特征以及针对需求变更的项目所选用的开发模型等方面进行结构化方法与面向对象方法的比较. 软件开发方法指在项目投资规模和时间限制内,设计.实现符合用户需求的高质量软件,根据软件 ...

  9. java整数四则运算课设_用面向对象方法设计实现整数的四则运算(java)

    用面向对象方法设计实现整数的四则运算,并编写主程序演示该类用法.(要求:用继承或接口实现) import java.math.BigDecimal; public class OperationImp ...

最新文章

  1. python中ht_python – 解析HTSQL时处理语法歧义
  2. 4.html 头部随笔
  3. 软件测试职业培训中心,软件测试工程师就业班
  4. 微信年末最后一发新功能!对生活很有帮助,必须了解一下!
  5. web第一节2020.5.11
  6. 窗口分析函数_13_生成相邻上一个元素
  7. Codeforces Round #646 (Div. 2) E(贪心,bfs)
  8. php使用curl发送 json数据
  9. 表达式必须是常量表达式
  10. 应用计算机金融 pdf,金融保险计算机技术及其在金融业中的应用.pdf
  11. .NET 6 Preview 5 终于发布
  12. Java集合系列总结
  13. opencv配置VS2019环境
  14. MogaFX-M1日
  15. 基于Web2.0的异构数字资源检索系统研究与开发
  16. 中国大学MOOC所有课程信息爬虫(课程ID、学校简称、课程名字、教师、学校全称、学生人数、学生人数、评价人数、平均评价)
  17. python 基础面试题(一)
  18. 12C ORA-错误汇总20
  19. OpenStack newton版安装教程(4)——Neutron部分
  20. 安全生产危化品生产单位安全管理人员一[安考星]

热门文章

  1. Web.config中设置启用webservice远程调试访问 参数看不到
  2. WordPress添加前台注册功能
  3. List去重复——多个复杂字段判断去重
  4. 几个常用的数据库连接字符串
  5. mysql修复坏表的方法
  6. gunzip 和 unzip 解压文件到指定的目录
  7. 对代理ARP技术的误读、无法完成代理ARP实验的故障分析
  8. 【经验】CentOS 5.2 下用Yum安装Apache+PHP+MySQL环境
  9. Mocha BSM应用管理——Lotus Domino监控与管理
  10. HB限时领Deponia: The Complete Journey