东大21秋《软件设计模式》在线平时作业1[答案]答案
《软件设计模式》在线平时作业1
试卷总分:100 得分:100
一、单选题 (共 10 道试题,共 50 分)
1.接口Animal 定义如下:
public interface Animal
{
void Move();
正确答案:-----
}
则下列抽象类的定义中,哪些是不合法的?
A.abstract class Cat: Animal
{
abstract public void Move();
正确答案:-----
}
B.abstract class Cat: Animal
{
virtual public void Move(){Console.Write(Console.Write("Move!");)}
正确答案:-----
}
C.abstract class Cat: Animal
{
public void Move(){Console.Write(Console.Write("Move!");)};
正确答案:-----
}
D.abstract class Cat: Animal
正确答案:-----
{
public void Eat(){Console.Write(Console.Write("Eat!");)};
正确答案:-----
}
2.在类的外部可以被访问的成员是:
A.public成员
B.private成员
C.protected成员
正确答案:-----
D.protected internal成员
正确答案:-----
3.如有定义:
class class1
{
Public virtual void test(){}
正确答案:-----
}
Class class2: class1
{
Public overrice void test()
正确答案:-----
{
Console.Write(“class2”);
正确答案:-----
}
}
Class class3: class2
{
Public override void test()
正确答案:-----
{
Console.Write(“class3”);
正确答案:-----
}
}
则下列语句的输出是什么?
Class2 x = new class3(); x.test();
A.class3 class2
B.class3
C.class2 class3
D.class2
正确答案:-----
4.以下描述错误的是( )
A.在C++中支持抽象类,但在C#中不支持抽象类。
B.C++中可在头文件中声明类的成员,而在CPP文件中定义类的成员;在C#中没有头文件并且在同一处声明和定义类的成员。
C.在C#中可使用 new 修饰符显式隐藏从基类继承的成员。
D.在C#中要在派生类中重新定义基类的虚函数必须在前面加Override
正确答案:-----
5.关于结构类型,下列说法哪些是正确的?
A.结构是值类型
B.结构中不允许定义带参数的实例构造函数
C.结构中不允许定义析构函数
D.结构中可以定义成员方法,但是方法内不能使用this 指针
正确答案:-----
6.MyClass为一个自定义的类,则下列语句创建了多少个类MyClass的对象?
MyClass[ , ] myArray = new MyClass[2][3];
A.0
B.2
C.3
D.6
正确答案:-----
7.方法中的值参数是_________的参数。
A.按值传递
B.按引用传递
C.按地址传递
D.不传递任何值
正确答案:-----
8.判断下列类MyClass 的定义中哪些是合法的抽象类?
A.abstract class MyClass { public abstract int getCount(); }
B.abstract class MyClass { abstract int getCount(); }
C.private abstract class MyClass { abstract int getCount(); }
D.sealed abstract class MyClass { abstract int getCount(); }
正确答案:-----
9.C#中每个int 类型的变量占用_______个字节的内存。
A.1
B.2
C.4
D.8
正确答案:-----
10.C#语言源代码文件的后缀名为:
A..C#
B..CC
C..CSP
D..CS
正确答案:-----
东大21秋《软件设计模式》在线平时作业1[答案]多选题答案
二、判断题 (共 10 道试题,共 50 分)
11.类是所有某一类对象的共同的行为和不同状态的集合体。
12.在设计人机交互部分时,对于操作步骤,应该用尽量少的单击、拖动和按键组合来表达命令,并为高级用户提供简捷的操作方法。
13.“+,-,*,/,%”均属于三元运算符。
正确答案:-----
14.在C#中可以使用String作为变量名,但不能使用string作为变量名。
15.声明为abstract类的方法必须同时进行声明和实例化。
16.在面向对象方法中,由于对象中的数据以及对数据的操作是封装的,所以对某一类对象的修改一般只涉及该类,通常不会对整个系统造成很大影响。
17.一个用例可以被特别列举为一个或多个子用例,这被称为用例扩展。
21.接口中的成员不可以有访问域修饰符,但可以有其它修饰符。
19.在面对对象的开发中,对象就是现实世界中事物的抽象。
20.UML是一种风格良好程序设计语言,可以设计出质量优良的软件系统。
东大21秋《软件设计模式》在线平时作业1[答案]历年参考题目如下:
20秋学期《软件设计模式》在线平时作业2
试卷总分:100 得分:100
一、单选题 (共 10 道试题,共 50 分)
1.下列语句创建了多少个string 对象?
string[,] strArray = new string[3][4];
A.0
B.3
C.4
D.12
2.以下关于类和对象的说法中,不正确的是:
A.类包含了数据和对数据的操作
B.一个对象一定属于某个类
C.类是同一类对象的抽象
D.可由抽象类生成对象
3.接口Animal 定义如下:
public interface Animal
{
void Move();
}
则下列抽象类的定义中,哪些是不合法的?
A.abstract class Cat: Animal
{
abstract public void Move();
}
B.abstract class Cat: Animal
{
virtual public void Move(){Console.Write(Console.Write("Move!");)}
}
C.abstract class Cat: Animal
{
public void Move(){Console.Write(Console.Write("Move!");)};
}
D.abstract class Cat: Animal
{
public void Eat(){Console.Write(Console.Write("Eat!");)};
}
4.以下关于for循环的说法不正确的是____。
A.for循环只能用于循环次数已经确定的情况
B.for循环是先判定表达式,后执行循环体语句
C.for循环中,可以用break语句跳出循环体
D.for循环体语句中,可以包含多条语句,但要用花括号括起来。
5.下列描述错误的是( )
A.类不可以多重继承而接口可以;
B.抽象类自身可以定义成员而接口不可以;
C.抽象类和接口都不能被实例化;
D.一个类可以有多个基类和多个基接口;
6.分析下列C#语句,注意类MyClass 没有访问修饰符:
namespace ClassLibrary1
{
class MyClass
{
public class subclass
{
int i;
}
}
}
若必须为类MyClass 添加访问修饰符,并使MyClass 的可访问域保持不变,则应选择_________
A.private
B.protected
C.internal
D.public
7.MyClass为一个自定义的类,则下列语句创建了多少个类MyClass的对象?
MyClass[ , ] myArray = new MyClass[2][3];
A.0
B.2
C.3
D.6
8.C#中每个int 类型的变量占用______个字节的内存。
A.1
B.2
C.4
D.8
9.关于结构类型,下列说法哪些是正确的?
A.结构是值类型
B.结构中不允许定义带参数的实例构造函数
C.结构中不允许定义析构函数
D.结构中可以定义成员方法,但是方法内不能使用this 指针
10.以下类型中,不属于值类型的是:
A.整数类型
B.布尔类型
C.字符类型
D.类类型
二、判断题 (共 10 道试题,共 50 分)
11.UML是一种风格良好程序设计语言,可以设计出质量优良的软件系统。
12.面向对象程序设计应该遵循低内聚、高耦合的原则。
13.被protected修饰的方法或属性可以在这个类的子类中被访问。
14.提倡设计模式的根本原因是增强代码复用,增加可维护性。
15.不同的参数类型、参数顺序、参数个数和返回值类型都是区别重载方法的根据。
16.对象模型优化方法之一的演绎法,指的是自底向上,抽象出具有若干个对象类共同性质的父类。
17.抽象类中所有的方法必须被声明为abstract.
18.在设计人机交互部分时,对于操作步骤,应该用尽量少的单击、拖动和按键组合来表达命令,并为高级用户提供简捷的操作方法。
19.事件是一种特殊的委托。
20.软件测试方法主要白盒测试和黑盒测试两种。