设为首页 加入收藏

TOP

1.4 实现的重用
2013-10-07 14:17:34 来源: 作者: 【 】 浏览:59
Tags:1.4 实现 重用

1.4   实现的重用

创建了一个类并进行了测试后,这个类(理论上)就成了有用的代码单元。重用性并不像许多人所希望的那样容易达到,产生一个好设计需要经验和洞察力。但是只要有了这样的设计,就应该提供重用。代码重用是面向对象程序设计语言的最大优点之一。

重用一个类最简单的方法就是直接使用这个类的对象,并且还可以将这个类的对象放到一个新类的里面。我们称之为“创建一个成员对象”。可以用任何数量和类型的其他对象组成新类,通过组合得到新类所希望的功能。因为这是由已经存在的类组成新类,所以称为组合(composition)[或者更通常地称为聚合(aggregation)]。组合常常被称为“has-a(有)”关系,比如“在小汽车中有发动机”一样。

 

(上面的UML图用实心菱形表示组合,说明这里有一个小汽车。通常我将采用一种更简单的形式,即仅用一条不带菱形的线来表示一个关联。)

组合带来很大的灵活性,新类的成员对象通常是私有的,使用这个类的客户程序员不能访问它们。这种特点允许我们改变这些成员而不会干扰已存在的客户代码。我们还可以在运行时改变这些成员对象,动态地改变程序的行为。下面将介绍的继承没有这种灵活性,因为编译器必须在用继承方法创造的类上加入编译时限制。

因为继承在面向对象的程序设计中很重要,所以它常常得到高度重视,并且新程序员可能会产生在任何地方都使用继承的想法。这会形成拙笨和极度复杂的设计。实际上,当创建新类时,程序员应当首先考虑组合,因为它更简单和更灵活。如果采用组合的方法,设计将变得清晰。一旦我们具备一些经验之后,就能很明显地知道什么时候需要采用继承方法。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇2.3.3 程序的基本结构 下一篇1.3 实现的隐藏

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: