一、选择题(每小题2分,共20分)
1、C#是一种面向( )的语言。
A.机器 B.过程 C.对象 D.事物
2、在C#中,定义派生类时,指定其基类应使用的语句是( )。
A.Inherits B.: C.Class D.Overrides
3、类的以下特性中,可以用于方便地重用己有的代码和数据的是( )。
A.多态 B.封装 C.继承 D.抽象
4、在Array类中,可以对一维数组中的元素进行排序的方法是( )。
A.Sort() B.Clear() C.Copy() D.int.Parse()
5、将变量从字符串类型转换为数值类型可以使用的类型转换方法是( )。
A.Str() B.Cchar() C.CStr() D.int.Parse()
6、在C#中定义接口时,使用的关键字是( )。
A.interface B.: C.class D.overrides
7、以下说法正确的是( )。
A.接口可以实例化 B.类只能实现一个接口
C.接口的成员都必须是未实现的 D.接口的成员前面可以加访问修饰符
8、下列关于抽象类的说法错误的是( )。
A.抽象类可以实例化 B.抽象类可以包含抽象方法
C.抽象类可以包含抽象属性 D.抽象类可以引用派生类的实例
9.下列关于重载的说法,错误的是( )。
A.方法可以通过指定不同的参数个数重载
B.方法可以通过指定不同的参数类型重载
C.方法可以通过指定不同的参数传递方式重载
D.方法可以通过指定不同的返回值类型重载
10.关于虚方法实现多态,下列说法错误的是( )。
A.定义虚方法使用关键字virtual
B.关键字virtual可以与override一起使用
C.虚方法是实现多态的一种应用形式
D.派生类是实现多态的一种应用形式
二、简答题(每小题5分,共20分)
二、简答题(每小题5分,共20分)
l、简述private、protected、public修饰符的作用
答:
2、构造方法的特征和作用
答:
3、简述接口和抽象类的区别。
答:
4、什么是序列化和反序列化?
答:
三、编码题(每小题20分,共60分)
1、编写一个C#应用程序,该程序包括3个类:Monkey类、People类和主类Program类(20分)
要求:
(1)Monkey类中有个构造方法:Monkey(String name),并且有个public void Speak()方法,在speak方法中输出“咿咿呀呀......”的信息。
(2)People类是Monkey类的子类,在People类调用Monkey的构造方法,重写方法Speak(),在Speak方法中输出“小样的,不错嘛!会说话了!”的信息。
(3)在People类中新增方法void Think(),在Think方法中输出“别说话!认真思考!”的信息。
(4)在主类Program的Main方法中创建Monkey与People类的对象类测试这2个类的功能。
2、接口和抽象类(20)
汽车租赁公司,出租汽车种类有客车、货车和皮卡三种,每辆汽车除了具有编号、名称、租金三个基本属性之外,客车有载客量,货车有载货量,皮卡则具有载客量和载货量。
实现思路:
l)需要定义两个接口,一个抽象类car,三个类:PassengerCar、Truck、Pickup..
2)抽象类汽车Car:属性有:编号No,名称:Name,租金Rent
3)接口A:定义载货量方法ZaiHuoMethod()
4)接口B:定义载客量方法ZaiKeMethod()
5)子类客车PassengerCar继承汽车租赁公司Car,特有属性:载客量ZaiKe。继承接口B.
6)子类货车Truck继承汽车租赁公司Car,特有属性:载客量ZaiHuo。继承接口A.
7)子类货车Pickup继承汽车租赁公司Car,特有属性:载客量ZaiKe。载客量ZaiHuo.继承接口A和B.
8)在主函数中分别实例化三种汽车,并输出汽车的相关信息。
3、编一个程序,定义类Student和它的成员(私有字段、属性和方法)(学号,姓名,年龄、成绩、和输出个人所有信息的方法),用类Student生成三个对象s1,s2,s3,给对象s1,s2,s3的成员赋值后,将对象添加到泛型List<Student>中,通过foreach循环遍历输出对象的所有信息。(20分)
评论 (0)