• 软件测试技术
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘

字号: | 推荐给好友 上一篇 | 下一篇

软件设计本质论—白话面向对象

发布: 2007-5-14 20:03 | 作者:  来源:blog 2007年1月 | 来源: blog | 查看: 41次 | 进入软件测试论坛讨论

领测软件测试网 软件测试技术门户V&p1c4RK"d G
  why: 关于动物运动这个例子,可能无法展示多态的好处。我们来考虑另外一个多态的例子,U盘。U盘的技术含量可能不是很高,有很多厂家都在设计和生产,就是说U盘有多种不同的实现,这就是U盘的多态。U盘的多态性对消费者来说是有好处的,选择多了,你可以在价格、质量和外观等方式做出平衡,选择你中意的U盘。多态的前提是接口的一致性,否则多态造成的麻烦远胜于它带来的好处。不管U盘的体积、颜色和质量如何,它都必需遵循相应的USB 标准,这些U盘在任何带USB接口的电脑上都可以使用。软件测试技术门户\)Uis(IY-J

sa)|xNVO.O O$rM  how: 多态在 C语言中通常用函数指针来实现,函数指针定义了函数的原型,即它的参数和返回值的描述,以及函数的意义,不同的函数可以有相同的函数原型,比如排序函数,无论是快速排序还是归并排序,它们的实现不一样,但函数原型可以一样。在不同的情况下,让函数指针到不同的函数实现上,这就实现了多态。

q,@:~j3W COL6S&b

A#DGt+^q8~f  类的三个层次

|){N!n{OL

WR4F D*eb  类这个概念比较微妙,即使在软件开发领域,不同的人提到这个概念所指的内容也不一样。一些大师早就注意到了这一点,为了让这个概念在不同情况下,具有较准确的意义,他们建议从三个层次看待类这个概念:

*asH0wV4C{ 软件测试技术门户].s"H Ft Wsx}

  1. 概念层(Conceptual)软件测试技术门户n+_ }f f\"QH

"Z5^w`"FWo  这是一个较高的层次,通常在进行领域分析时,为了建立概念模型时使用。这时使用的术语是现实世界中的术语,而不是软件开发中的术语。在这个层次,类只是一个概念,加上一些不太严谨的特征说明,甚至只有一个名称。尽管它往往与软件开发中的类一一对应,便这种映射并不一定是直接的。
,HST/aS'y