软件设计中类的重用有两方面的含义:一是尽量使用已有的类(包括开发环境提供的类库,及以往开发类似系统时创建的类),二是如果确实需要创建新类,则在设计这些新类的协议时,应该考虑将
来的可重复使用性。
类是面向对象类型的定义。表示所有相同属性的对象。直观上,类就是共用相同的数据结构支持相同操作的对象结合(描述)。一个类的描述包括一个数据模板和一个该对象支持的操作的定义,后者称该对象的实例。典型地,一个类的规格说明对应于它的公共接口。
类是有层次的,这是通过继承实现的。一个类可以派生多个子类,子类继承父类的数据和方法。因此,父类原有的数据和方法可被子类多词重用。一个类同样也可以有多个父类,即多重继承,这样,子类就重用了多个父类的数据和方法。类的实现大致可分为:直接重用、改进重用和独立开发。
直接重用。有时可以在类库中找出那些已有的,并可以直接提供所要求功能的类———即所需类已经存在,可以通过它的示例完成所要求功能。这些示例可以直接被应用系统所引用,也可以作为其他类的一部分实现。这种重用方式使人们无需作任何修改就能得到代码。该方式之所以能实现,主要得益于11语言的两个特征:界面与实现的独立性和封装技术。
改进重用。有时类库中没有类能提供与要求完全吻合的功能,但有与之相似的功能。此时可以找出那些已有的,以作为进一步开发基础的类,新的类可以通过继承方式进行加入式开发。该方法是!!方法所独有的,子类通过继承关系建立与超类的依赖关系,它只要经过编译就能受
到超类中的修改。改进重用的另一特征是它的非干扰性,即一个类作为新类的父类时,它本身无需作任何修改,两个类之间的关系记录在新类而不是已有的类中。因此,类库中的成员可多次进行这样的重用。
独立开发。有时找不到符合上述两种类型的对象类,只能独立地开发新的对象类。即使如此,仍有重用的可能性,如可以把一些已有的类的实例作为新类成员,从而加速类的开发。此时须注意新加入的数据结构和方法与引用部分的协调性,避免产生冲突。