设有代码如下: public class person f String name; int age public String introduce() [return ("l am a person!");1 1 class student extends person fpublic student(String name,int age) [supername=name; superage age @override public String introduce() [return ("l am a student!"); class worker extends person fpublic worker(String name,int age) !super.name name;superagezage;@ Overridepublic String introduce() [return("lam a worker!"); 1.试分析以上代码体现了面向对象程序设计的何种特点,这种特点对软件测试有何种影响。2.试设计针对以上代码的测试脚本
时间: 2024-03-03 17:50:26 浏览: 61
java代码-javademo
1. 以上代码体现了面向对象程序设计的继承和多态特点。继承是指子类可以继承父类的属性和方法,从而避免了代码的重复编写。多态是指同一个方法可以被不同的对象调用,从而实现了代码的灵活性和扩展性。这种特点对软件测试的影响是,在测试时需要考虑到继承和多态带来的影响,例如需要测试子类调用父类的方法时是否能够正确执行,以及不同子类调用同一个方法时是否能够得到正确的结果。
2. 针对以上代码的测试脚本可以设计如下:
```
// 测试person类的introduce方法
@Test
public void testPersonIntroduce() {
Person p = new Person("Tom", 20);
String result = p.introduce();
assertEquals("l am a person!", result);
}
// 测试student类的introduce方法
@Test
public void testStudentIntroduce() {
Student s = new Student("Jerry", 18);
String result = s.introduce();
assertEquals("l am a student!", result);
}
// 测试worker类的introduce方法
@Test
public void testWorkerIntroduce() {
Worker w = new Worker("Jack", 25);
String result = w.introduce();
assertEquals("l am a worker!", result);
}
```
以上测试脚本分别测试了三个类的introduce方法,分别创建了一个Person、一个Student和一个Worker对象,并调用它们的introduce方法,检查返回结果是否符合预期。
阅读全文