一 选择题
1) 以下关于序列化和反序列化的描述错误的是( C)。
a) 序列化是将对象的状态存储到特定存储介质中的过程
b) 二进制格式化器的Serialize()和Deserialize()方法可以分别用来实现序列化和反序列
化过程
c) 如果一个类可序列化,则它的子类和包含的各成员对象也一定可序列化
解析:问题出在了子类,如果子类压根不能进行序列化操作,则会抛出异常
d) 标识一个类可以序列化要使用[Serializable]
2) 在C#中,下列关于简单工厂设计模式的说法不正确的是( A )。
a) 简单工厂产生的对象都是静态对象
对象没有静态和动态之分
b) 创建产品的方法返回类型都是父类
c) 使用该模式解决了代码中大量使用new 的问题
d) 简单工厂的缺点是对修改不封闭,新增加产品就需要修改工厂
3) 下列关于虚方法和抽象方法的描述中错误的是( C)。
a) 虚方法必须有方法体,可以被子类重写
b) 抽象方法不允许有方法体,且必须被子类重写
c) 抽象方法必须在抽象类中,而虚方法可以在所有类中
密封类和静态类中不能书写
d) 在子类中重写抽象方法或虚方法,都需要用override关键字
4) 在UML类图中使用(B )符号表示私有成员。
a) + 公共成员
b) -
c) * ~:package
d) # 受保护类型
5) 分析以下使用抽象类的C#代码,其最终的运行结果是(D )。
public abstract class Class1
{
public void F()
{
Console.Write("1");
}
abstract public void ABS();
}
public class Class2 : Class1
{
public override void ABS()
{
Console.Write("3");
}
public Class2()
{
Console.Write("2");
}
static void Main()
{
Class2 objB = new Class2();
objB.ABS();
}
}
//先调用构造,然后带哦用自身的ABS方法()
a) 12
b) 21
&nb