2.简答题 1)浅析.NET代码的编译过程。 2)谈谈值类型和引用类型的区别。 3.设计题 编写一个控制台应用程序,完成教师档案的增、删、改、查功能。 1)创建教师信息类 Teacher,包括如下字段:工号,姓名,性别, 出生日期,照片,系部,学位,职称,毕业院校;(其中出生日期用 DateTime类型,照片字段用字符串类型保存照片所在的路径即可) 2)教师信息保存在集合类 List<t>中;
6 2.简答题 1)浅析.NET 代码的编译过程。 2)谈谈值类型和引用类型的区别。 3.设计题 编写一个控制台应用程序,完成教师档案的增、删、改、查功能。 1)创建教师信息类 Teacher,包括如下字段:工号,姓名,性别, 出生日期,照片,系部,学位,职称,毕业院校;(其中出生日期用 DateTime 类型,照片字段用字符串类型保存照片所在的路径即可) 2)教师信息保存在集合类 List<T>中;
实验二c#面向对象程序设计训练 、实验目的 1、熟练C#面向对象程序设计思想; 2、掌握.NET基础类库的使用方法; 掌握C#类、抽象类、接口的定义及使用方法; 4、掌握C#属性、索引、委托、事件的定义及使用方法 5、熟练在.NET下调试程序的方法。 实验内容 1.选择题 1)在.NET中,以下关于命名空间的描述,正确的是() a)命名空间不可以进行嵌套 b)任一个.cs文件中,只能存在一个命名空间 c)用 private修饰的命名空间,其内部的类也不允许访问 d)命名空间使得代码更加有条理、结构更清晰 2)在C#中,关键字 usIng不具有的功能是() a)引用名字空间 b)引入程序集 c)给名字空间取别名 d)确保资源释放 3)在C#中,关于构造函数的说法正确的是()。 a)在一个类中允许有多个构造函数,构造函数在创建对象时调用
7 实验二 C#面向对象程序设计训练 一、实验目的: 1、熟练 C#面向对象程序设计思想; 2、掌握.NET 基础类库的使用方法; 3、掌握 C#类、抽象类、接口的定义及使用方法; 4、掌握 C#属性、索引、委托、事件的定义及使用方法; 5、熟练在.NET 下调试程序的方法。 二、实验内容: 1.选择题 1) 在.NET 中,以下关于命名空间的描述,正确的是()。 a) 命名空间不可以进行嵌套 b) 任一个.cs 文件中,只能存在一个命名空间 c) 用 private 修饰的命名空间,其内部的类也不允许访问 d) 命名空间使得代码更加有条理、结构更清晰 2) 在 C#中,关键字 using 不具有的功能是()。 a)引用名字空间 b)引入程序集 c)给名字空间取别名 d)确保资源释放 3) 在 C#中,关于构造函数的说法正确的是()。 a) 在一个类中允许有多个构造函数,构造函数在创建对象时调用
b)在一个类中允许有多个不同名称的构造函数 c)一个类至少声明有一个构造函数 d)一个类只能有一个构造函数 4)在C#中,()访问修饰符修饰的类成员只能由当前程序集访问 a) public protected c) internal d) private 5)在C#中,以下关于ref和out的描述不正确的是?()。 a)使用ref参数,传递到ref参数的参数必须先初始化 b)使用out参数,传递到out参数的参数必须先初始化 c)使用ref参数,必须将参数作为ref参数显式传递到方法 d)使用out参数,必须将参数作为out参数显式传递到方法 6)在C#类中,关于属性的说法不正确的是() a)属性可以是只读的 b)属性可以是只写的 c)属性可以是可读可写的 d)属性不能只是可写的 7)C#中,下列关于索引器的说法,正确的是()。 a)索引器没有返回类型 b)索引器一般用来访问类中的数组元素或集合元素 c)索引器的参数类型必须是int的类型
8 b) 在一个类中允许有多个不同名称的构造函数 c) 一个类至少声明有一个构造函数 d) 一个类只能有一个构造函数 4) 在 C#中,()访问修饰符修饰的类成员只能由当前程序集访问。 a) public b) protected c) internal d) private 5) 在 C#中,以下关于 ref 和 out 的描述不正确的是?()。 a) 使用 ref 参数,传递到 ref 参数的参数必须先初始化 b) 使用 out 参数,传递到 out 参数的参数必须先初始化 c) 使用 ref 参数,必须将参数作为 ref 参数显式传递到方法 d) 使用 out 参数,必须将参数作为 out 参数显式传递到方法 6)在 C#类中,关于属性的说法不正确的是()。 a) 属性可以是只读的 b) 属性可以是只写的 c) 属性可以是可读可写的 d) 属性不能只是可写的 7) C#中,下列关于索引器的说法,正确的是()。 a) 索引器没有返回类型 b) 索引器一般用来访问类中的数组元素或集合元素 c) 索引器的参数类型必须是 int 的类型
d)索引器的声明可以使用类名或this关键字 8)在C#中,假如有一个名为” Mes sageDe legate”的委托类型,下列 能够正确定义一个事件的是()。 a) public delegate Message Delegate messageEvent b) public MessageDelegate messageEvent c) private event MessageDelegate(me sage Event) d) public event Message Delegate messageEvent 9)在C#中,下列()关键字用于重写基类的虚拟方法 a) override new c) base d) virtual 10)在C#类中,可以通过编写()实现方法重载 a)具有不同返回类型的同名函数 b)具有不同代码行数的同名函数 c)具有不同参数列表的同名函数 d)具有不同访问修饰符的同名函数 11)以下关于C#中代码的说法正确的是()。 public abstract class animal public abstract void EatO public void Sleepout
9 d) 索引器的声明可以使用类名或 this 关键字 8) 在 C#中,假如有一个名为”MessageDelegate”的委托类型,下列 能够正确定义一个事件的是()。 a) public delegate MessageDelegate messageEvent; b) public MessageDelegate messageEvent; c) private event MessageDelegate(mesageEvent); d) public event MessageDelegate messageEvent; 9) 在 C#中,下列()关键字用于重写基类的虚拟方法。 a) override b) new c) base d) virtual 10)在 C#类中,可以通过编写()实现方法重载。 a) 具有不同返回类型的同名函数 b) 具有不同代码行数的同名函数 c) 具有不同参数列表的同名函数 d) 具有不同访问修饰符的同名函数 11) 以下关于 C#中代码的说法正确的是()。 public abstract class Animal { public abstract void Eat(); public void Sleep(){}
a)该代码正确 b)代码错误,因为类中存在非抽象方法 c)代码错误,因为类中方法没有实现 d)通过代码" Animal an= new Anima0;"可以创建 An l对象 12)接口是一种引用类型,在接口中可以声明(),但不可以声明公 有的域或私有的成员变量。 a)方法、属性、索引器和事件 b)方法、构造函数、属性 c)索引器和字段 d)事件和字段 13)在C#中,下列关于抽象类和接口的说法,正确的是()。 a)抽象类中,所有的方法都是抽象方法 b)继承自接口的非抽象类必须实现父类中的所有成员 c)在接口中,可以有方法实现,在抽象类中不能有方法实现 d)一个类可以从多个接口实现,也可以从多个抽象类继承 14)在C#语法中,对于密封类( sealed)的说法,正确的是()。 a)密封类可以当作基类 b) abstract修饰符可以和 sealed一起修饰某个类 c)密封类中不能包含有字段 d)密封类不能派生出子类 15)在C#中,定义分部类型,即允许将类、结构或接口的定义拆分到
10 } a)该代码正确 b)代码错误,因为类中存在非抽象方法 c)代码错误,因为类中方法没有实现 d)通过代码"Animal an = new Animal();"可以创建 Animal 对象 12) 接口是一种引用类型,在接口中可以声明(),但不可以声明公 有的域或私有的成员变量。 a) 方法、属性、索引器和事件 b) 方法、构造函数、属性 c) 索引器和字段 d) 事件和字段 13) 在 C#中,下列关于抽象类和接口的说法,正确的是()。 a) 抽象类中,所有的方法都是抽象方法 b) 继承自接口的非抽象类必须实现父类中的所有成员 c) 在接口中,可以有方法实现,在抽象类中不能有方法实现 d) 一个类可以从多个接口实现,也可以从多个抽象类继承 14) 在 C#语法中,对于密封类(sealed)的说法,正确的是()。 a) 密封类可以当作基类 b) abstract 修饰符可以和 sealed 一起修饰某个类 c) 密封类中不能包含有字段 d) 密封类不能派生出子类 15) 在 C#中,定义分部类型,即允许将类、结构或接口的定义拆分到