C#OOP(自测)C#(自测)
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
27、使用泛型的优点有:可以极大限度重用代码、保护类型的安全及提高程序的性能。
28、继承的特性有:继承的传递性、继承的单根性、成员的访问性。
29、C#中使用:符号实现继承。
30、当A类被B类继承时,我们就把A类称为父类或基类,B类稀烂为子类或派生类。
31、密封类是指防止派生子类,密封方法是指不允许子类再次被重写。
11、using的用法:引入名称空间,自动释放对象。
12、如果x大于y,则输出x,否则输出y,用三元运算符表示:x>y?x:y
13、public static const int A=1;这段代码有错误么?是什么?const不能用static修饰。
14、在.Net中所有可序列化的类都被标记为_ [serializable],包括它的父类和属性中的引用类型。
7、Override是对基类中成员的重写,实现多态。
8、面向对象的语言具有封装性、继承性、多态性
9、String s = new String("xyz");创建了两个String Object,分别是一个是“xyx”,一个是指向“xyx”的引用对象s。
10、是否可以继承String类(写明原因):String类是sealed类故不可以继承。
41、序列化就是将对象实例的状态存储到存储媒体中的过程。
二、简答题
1.简述private、protected、public、internal修饰符的访问权限。
访问修饰符
说明
public
公有的,访问不受限制
private
私有的,只能本类内部访问
protected
受保护的,只能本类及其子类访问
internal
24、构成方法重载的条件有:同一个类中、方法名相同、参数的类型或个数不同。
25、C#中集合的主要特性有:动态改变大小、可存储任意类型的对象、提供一系列操作集合中对象的方法。
26、ArrayList和Hashtable中存储的元素都会自动转换成object类型,在访问时需要从object转换回存储前的类型。
内部的,只限于本项目内成员访问
protected internal
内部保护的,只限于本项目或子类访问
2.abstract class和interface有什么区别?
答:抽象类可以有具体实现的成员,而接口没有;接口可以多重继承而抽象类不可以;抽象类的子类使用override关键字对父类成员进行重写,而接口的派生类直接实现接口成员。Biblioteka 3. 简述构造函数与普通方法的不同点:
4、使用抽象类要注意以下要点(简答):并自己构造代码进行说明
1.抽象类可以不包含抽象方法,但是含有抽象方法的类必须定义为抽象类
2.抽象方法不允许有方法体
3.子类继承于抽象类时必须重写抽象类中所有的抽象方法,除非子类也是抽象类
4.抽象类不允许直接实例化,只能实例化其非抽象子类对象
32、继承的好处在于子类自动拥有了父可可被继承的字段、属性和方法等,只需再定义自己独特的成员即可。
33、在创建子类对象时,先隐式调用父类的无参构造函数,再调用自身的构造函数。如果父类没有无参构造函数则提示错误。
34、在继承关系中,子类和父类满足“子类is a父类”的关系。
36、在C#中,如果定义了一个没有父类的类,则会自动继承Object类。
37、多态的主要表现形式是:子类继承父类后对于同一个方法有不同的实现方式。其实现的方式分别是:隐藏父类方法和重写父类方法。
38、sealed修饰方法时只能与override一起使用,防止重写的方法再次被重写。
39、抽象类可以不包含抽象方法,但有抽象方法的类必须定义为抽象类。
40、.NET框架提供了Directory类和DirectoryInfo类用于对磁盘和文件夹的操作管理,提供了File类和FileInfo类用于对文件进行常用操作管理。
4、详述.NET里class和struct的异同。类与结构有很多相似之处:结构可以实现接口,并且可以具有与类相同的成员类型。然而,结构在几个重要方面不同于类:结构为值类型而不是引用类型,并且结构不支持继承。
5、值类型和引用类型的区别:值类型变量间赋值是值拷贝,引用类型变量间赋值是地址拷贝
6、如何把一个array复制到arrayList里:将array传给arraylist的构造函数
5、抽象方法和虚方法的区别
抽象方法和虚方法都是为了实现多态功能,其主要区别在于:抽象方法只提供一个功能名称,要求子类必须实现该功能;而虚方法不只提供功能名称还提供了默认实现方式,子类可以不重新实现该功能,其语法区别如表如示:
抽象方法
虚方法
使用abstract关键字修饰
使用virtual关键字修饰
只能定义在抽象类中
15、.net的错误处理机制是什么:.net错误处理机制采用try->catch->finally结构,发生错误时,层层上抛,直到找到匹配的Catch为止
16、&和&&的区别:&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)
17、类是具有共同特征和行为的一类事物的统称,以及对这一类事物的一种抽象定义
可以定义在除密封类以外的类中
不允许有方法体
必须有方法体
子类必须重写
子类可以重写
7、自定义接口时需要注意:并自己构造代码进行说明
1、接口名通常使用大写字母“I”开头,表明其是接口类型
C#OOP(自测)
一、填空题
1、实例成员通过类的实例访问,静态成员通过类访问
2、用sealed修饰的类叫密封类,用于防止从所修饰的类派生出其它类。如果一个密封类被指定为其他类的基类,则会发生编译时错误。密封类不能同时为抽象类。
3、C#中,string str = null与string str ="",请尽量用文字说明区别,前者只声明变量不分配内存;后者指向一个值为空字符串的实例,分配内存空间
18、对象是独一无二的具体个体,用来描述现实世界的某个事物,将现实世界的事物模型化
20、实例化的对象可以通过对象.字段的方式来修改或访问该对象的字段值
21、属性是对字段的封装,主要目的是为了保障对字段访问的安全性和灵活性
22、在创建对象时对对象成员赋初值会调用构造函数。
23、创建对象时,根据不同的需要,在不同的场合对不同成员初始化,需要使用重载构造函数。
28、继承的特性有:继承的传递性、继承的单根性、成员的访问性。
29、C#中使用:符号实现继承。
30、当A类被B类继承时,我们就把A类称为父类或基类,B类稀烂为子类或派生类。
31、密封类是指防止派生子类,密封方法是指不允许子类再次被重写。
11、using的用法:引入名称空间,自动释放对象。
12、如果x大于y,则输出x,否则输出y,用三元运算符表示:x>y?x:y
13、public static const int A=1;这段代码有错误么?是什么?const不能用static修饰。
14、在.Net中所有可序列化的类都被标记为_ [serializable],包括它的父类和属性中的引用类型。
7、Override是对基类中成员的重写,实现多态。
8、面向对象的语言具有封装性、继承性、多态性
9、String s = new String("xyz");创建了两个String Object,分别是一个是“xyx”,一个是指向“xyx”的引用对象s。
10、是否可以继承String类(写明原因):String类是sealed类故不可以继承。
41、序列化就是将对象实例的状态存储到存储媒体中的过程。
二、简答题
1.简述private、protected、public、internal修饰符的访问权限。
访问修饰符
说明
public
公有的,访问不受限制
private
私有的,只能本类内部访问
protected
受保护的,只能本类及其子类访问
internal
24、构成方法重载的条件有:同一个类中、方法名相同、参数的类型或个数不同。
25、C#中集合的主要特性有:动态改变大小、可存储任意类型的对象、提供一系列操作集合中对象的方法。
26、ArrayList和Hashtable中存储的元素都会自动转换成object类型,在访问时需要从object转换回存储前的类型。
内部的,只限于本项目内成员访问
protected internal
内部保护的,只限于本项目或子类访问
2.abstract class和interface有什么区别?
答:抽象类可以有具体实现的成员,而接口没有;接口可以多重继承而抽象类不可以;抽象类的子类使用override关键字对父类成员进行重写,而接口的派生类直接实现接口成员。Biblioteka 3. 简述构造函数与普通方法的不同点:
4、使用抽象类要注意以下要点(简答):并自己构造代码进行说明
1.抽象类可以不包含抽象方法,但是含有抽象方法的类必须定义为抽象类
2.抽象方法不允许有方法体
3.子类继承于抽象类时必须重写抽象类中所有的抽象方法,除非子类也是抽象类
4.抽象类不允许直接实例化,只能实例化其非抽象子类对象
32、继承的好处在于子类自动拥有了父可可被继承的字段、属性和方法等,只需再定义自己独特的成员即可。
33、在创建子类对象时,先隐式调用父类的无参构造函数,再调用自身的构造函数。如果父类没有无参构造函数则提示错误。
34、在继承关系中,子类和父类满足“子类is a父类”的关系。
36、在C#中,如果定义了一个没有父类的类,则会自动继承Object类。
37、多态的主要表现形式是:子类继承父类后对于同一个方法有不同的实现方式。其实现的方式分别是:隐藏父类方法和重写父类方法。
38、sealed修饰方法时只能与override一起使用,防止重写的方法再次被重写。
39、抽象类可以不包含抽象方法,但有抽象方法的类必须定义为抽象类。
40、.NET框架提供了Directory类和DirectoryInfo类用于对磁盘和文件夹的操作管理,提供了File类和FileInfo类用于对文件进行常用操作管理。
4、详述.NET里class和struct的异同。类与结构有很多相似之处:结构可以实现接口,并且可以具有与类相同的成员类型。然而,结构在几个重要方面不同于类:结构为值类型而不是引用类型,并且结构不支持继承。
5、值类型和引用类型的区别:值类型变量间赋值是值拷贝,引用类型变量间赋值是地址拷贝
6、如何把一个array复制到arrayList里:将array传给arraylist的构造函数
5、抽象方法和虚方法的区别
抽象方法和虚方法都是为了实现多态功能,其主要区别在于:抽象方法只提供一个功能名称,要求子类必须实现该功能;而虚方法不只提供功能名称还提供了默认实现方式,子类可以不重新实现该功能,其语法区别如表如示:
抽象方法
虚方法
使用abstract关键字修饰
使用virtual关键字修饰
只能定义在抽象类中
15、.net的错误处理机制是什么:.net错误处理机制采用try->catch->finally结构,发生错误时,层层上抛,直到找到匹配的Catch为止
16、&和&&的区别:&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)
17、类是具有共同特征和行为的一类事物的统称,以及对这一类事物的一种抽象定义
可以定义在除密封类以外的类中
不允许有方法体
必须有方法体
子类必须重写
子类可以重写
7、自定义接口时需要注意:并自己构造代码进行说明
1、接口名通常使用大写字母“I”开头,表明其是接口类型
C#OOP(自测)
一、填空题
1、实例成员通过类的实例访问,静态成员通过类访问
2、用sealed修饰的类叫密封类,用于防止从所修饰的类派生出其它类。如果一个密封类被指定为其他类的基类,则会发生编译时错误。密封类不能同时为抽象类。
3、C#中,string str = null与string str ="",请尽量用文字说明区别,前者只声明变量不分配内存;后者指向一个值为空字符串的实例,分配内存空间
18、对象是独一无二的具体个体,用来描述现实世界的某个事物,将现实世界的事物模型化
20、实例化的对象可以通过对象.字段的方式来修改或访问该对象的字段值
21、属性是对字段的封装,主要目的是为了保障对字段访问的安全性和灵活性
22、在创建对象时对对象成员赋初值会调用构造函数。
23、创建对象时,根据不同的需要,在不同的场合对不同成员初始化,需要使用重载构造函数。