软件测试再说面向对象

发表于:2009-11-11来源:作者:点击数: 标签:软件测试面向对象
软件测试再说面向对象 软件测试工具 关键字:面向对象 OOP 如果你采用了或者考虑采用面向对象编程(OOP)技术,那么你至少应该弄清楚OOP到底具备什么含义、为什么要采用OOP技术。下面我提出一些你应该了解的有关技术术语,同时谈谈这些概念对你的 解决方案 而

软件测试再说面向对象   软件测试工具

关键字:面向对象 OOP

  如果你采用了或者考虑采用面向对象编程(OOP)技术,那么你至少应该弄清楚OOP到底具备什么含义、为什么要采用OOP技术。下面我提出一些你应该了解的有关技术术语,同时谈谈这些概念对你的解决方案而言所具备的意义。

  为什么要使用OOP?

  对象概念对软件解决方案具有莫大的好处,在设计优秀合理的情况下尤其如此。你可以只编写一次代码而在今后反复重用,而在非OOP的情况下你则多半要在应用程序内部各个部分反复多次编写同样的功能代码。所以说,由于面向对象编程减少了编写代码的总量,从而加快了开发的进度同时降低了软件中的错误量。

  用来创建对象的代码还可能用于多个应用程序。比方说,你的团队可以编写一组标准类来计算你的可用资源,然后用这些代码在所有需要同类对象的解决方案中创建对象,比如客户定单接口、股票价值报表和发给销售队伍的通知等等。

  OOP的另一优点是对代码结构的影响。像继承之类的面向对象概念通过简化变量和函数的方式而便利了软件的开发过程。OOP可以更容易地在团队之间划分编码任务。同时,由于采用OOP,辨别子类代码的依附关系也变得更简单了(比如说继承对象的代码)。此外,软件的测试和调试也得以大大简化。

  但是OOP也存在一些固有的缺点。假如某个类被修改了,那么所有依赖该类的代码都必须重新测试,而且还可能需要重新修改以支持类的变更。还有,如果文档没有得到仔细的维护,那么我们很难确定哪些代码采用了父类(被继承的代码)。假如在开发后期发现了软件中的错误,那么它可能影响应用程序中的相当大部分的代码。

  面向对象编程在编程思想上同传统开发不同,需要开发人员转变传统开发中所具备的惯性思维方式。对一个有经验的OOP开发队伍来说,采用OOP的好处是显而易见的。如果你正在考虑转向OOP,那么你必须保证已经拥有了富有经验的主要开发人员能负责地检查软件中的缺陷和体系结构。

  下面我们就看看OOP技术到底能为你做些什么;了解了解有关的概念和术语。

  对象定义

  对象是建立面向对象程序所依赖的基本单元。用更专业的话来说,所谓对象就是一种代码的实例,这种代码执行特定的功能,具有自包含或者封装的性质。这种封装代码通常叫做类、对象类或者模块或者在不同编程语言中所应用的其他名称。以上这些术语在含义上稍微有些不同,但它们都是代码的集合。

  正如我上面提到的那样,对象本身是类或者其他数据结构的实例。这就是说,现有的物理代码起到了创建对象的模版作用。执行特定功能的代码只需要编写一次却被引用多次。每一种对象具有自己的标识,也就是令对象相互区别的对象名称。

  对象并不是类的实际拷贝。每一对象都有自己的名称空间,在这种名称空间中保存自己的标识符和变量,但是对象要引用执行函数的原有代码。 “封装”的对象具有自己的函数,这种函数被称作“方法”,而对象的变量则被称为属性。当对象内部定义了属性的时候,它们通常不能扩展到实例以外。假设我现有一个类叫vegetable(蔬菜),同时又创建了两个对象实例 carrot(胡萝卜)和 celery(芹菜),那么我给carrot设置的值就不会影响到celery内部的值。vegetable自身内部的变量却永远不会得到定义,因为vegetable类只是一种模版。

 

原文转自:http://www.ltesting.net