SilkTest循序渐进5-类的继承 软件测试
说实话,silktest对面向对象的支持远没有C++和Java那么强大。只能说silktest实现了基本的类的定义,继承,覆盖。其他很多高级的面向对象的机制,例如重载,silktest都无法实现,所以用4Test写一些类层次结构的时候可能会遇到困难。实践证明,尽量减少类的继承层数可以有效减少错误的发生的几率。
其实silktest的面向对象机制只有两个重要的关键字,一个是winclass,它是用来定义类的,相当于其他高级语言的class。另外一个是window,它用来定义一个某类的对象。下面是一个例子,定义了一个People类,并且定义了一个People类的对象worker
view plaincopy to clipboardprint?
01.winclass People
02.
03.window People work
winclass People
window People work
看上去很简单是吧,好,下面大家可以看看下面的例子。在include文件People.inc中,定义了一个基类People,和它的一个子类Student。基类定义了两个成员变量分别是name和age,并且有相应的成员函数来set和get成员变量。子类Student另外定义了一个成员变量sex,相应地也有成员函数来set和get该变量。初次以外,Student还定义了两个函数来对该类的对象进行赋值和取值。在另外一个文件TestStudent.t中,声明了三个Student对象stu1,stu2, stu3,对他们进行一系列的赋值和取值操作,然后打印出对象的值,希望这个例子对你理解silktest中类的继承和对象的使用有所帮助。
好,来看看具体的代码吧。
view plaincopy to clipboardprint?
01.[ ] //FileName: People.inc
02.[ ] //Author: Yuetian Zeng from http://blog.csdn.net/yuetian/
03.[ ]
04.[ ]
05.[ ] // base class
06.[-] winclass People
07. [ ] // declare two data members and set default value for them
08. [ ] string sName = "SilkTest"
09. [ ] int iAge = 10
10. [ ]
11. [ ] // set and get Age