10); Size size2 = size1; size1.y = 200; Console.WriteLine("{

时间:2022-01-11 06:34:44

---恢复内容开始---

《深入.NET平台和C#编程》内部测试题-笔尝尝卷错题堆集

1:

1) 以下关于序列化和反序列化的描述错误的是( C)。

a) 序列化是将东西的状态存储到特定存储介质中的过程

b) 二进制格局化器的Serialize()Deserialize()要领可以分袂用来实现序列化和反序列化过程

   解析:BinaryFormatter

c) 如果一个类可序列化,则它的子类和包罗的各成员东西也必然可序列化

问题出在了子类,如果子类压根不能进行序列化操纵,,则会抛出异常

d) 标识一个类可以序列化要使用[Serializable]

2:

下列关于虚要领virtual和抽象要领abstract的描述中错误的是( C)。

a) 虚要领必需有要领体,可以被子类重写

b) 抽象要领不允许有要领体,且必需被子类重写

c) 抽象要领必需在抽象类中,而虚要领可以在所有类中

密封类和静态类中不能书写

d) 在子类中重写抽象要领或虚要领,都需要用override关键字

注意:

1:如果一个类用Abstract修饰,那么该类就是抽象类;

2:抽象要领中可以有要领体,也可以有普通要领

3:抽象要领不能有要领体,甚至连{}都不能有,直接以分号结尾;

4:抽象类可以有结构

5:抽象类不能实例化

6:抽象类不能是密封类或者静态类的

为什么不能是静态类的:

静态类会静态存储区构建一个类的实例,而抽象类不能实例化,所以两者是相违背的

为什么不能是密封类的:

抽象类是让别人去担任 ,然后重写抽象要领

密封类不想让别人去担任,两者是相违背的

7:如果一个类担任自抽象类,必需重写抽象类的所有要领,除非子类自己也是抽象类

8:一键重写的快捷键是:Ctrl+.,或者是alt +shif +F10

9:抽象类中的抽象要领用来约束子类要领的格局的

10:抽象要领必需存在于抽象类中

4:

分析以下使用抽象类的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

c) 13

d) 23

5:

下列代码的运行功效是( A)。

class Test

{

Public  void F()

{

Console.Write("A");

}

}

class B : Test

{

Public  new  void F()

{

Console.Write("B");

}

Public  void Say()

{

}

static void Main()

{

Test objA = new B();

objA.F();

}

}

  注意:这里不是多态,所以用父类变量生存子类东西,取的是父类的要领。哪怕父类要领使用Virtual关键字,子类没有Override就不会实现多态。

      以后我们碰到通过父类变量生存在东西的标题问题时,应该具备以下理解能力:

01.new一个子类的时候,可以当作在子类东西中已经完全包罗一个父类东西,所以我们可以在子类中通过this点出来父类的非私有成员。

02.父类变量只能挪用到父类的要领,而不能挪用子类的要领,即使该父类变量存储是子类。

措施员;编码能力   打字能力。

打字员:打字能力

a) A

b) B

c) BA

d) AB

6:

在开发C#措施过程中,会大量地使用类和东西,其使用要领不包孕( BC)。

a) 将类实例化为东西

b) 将东西实例化为类

c) 通过类访谒非静态属性或要领

d) 通过东西访谒非静态属性或要领

7: