C# ⾼级编程⾯试考题
⼀、简答题
1.简述C#中的所有访问修饰符及访问权限
private(私有的)
给类,及所有类成员使⽤
所有类成员的默认访问修饰符
可访问范围
当前类⾃⾝
public(公开的)
给类,及所有类成员使⽤
可访问范围
当前类⾃⾝
所有的⼦类
同⼀程序集其他类通过实例化也可以访问
其他程序集中的类也可以实例化访问
protected(受保护的)
类,内嵌类的所有成员
类的默认访问修饰符
可访问范围
当前类⾃⾝
所有的⼦类可以访问
同⼀程序集其他类不可以访问
其他程序集中可以通过继承也可以访问
internal
类,内嵌类的所有成员
可访问范围
当前类⾃⾝
同⼀程序集的其他类可以通过实例化访问
同⼀程序集中的⼦类也可以访问
其他程序集中不管是不是⼦类都⽆法访问
internal protected
类,及内嵌类的所有成员
可访问范围
当前类⾃⾝
同⼀程序集的其他类可以通过实例化进⾏访问
所有⼦类可以访问
其他程序集中可以通过继承进⾏访问,但实例化不⾏
2.简单介绍⽅法的重载和重写
重写:当⼀个⼦类继承⼀⽗类,⽽⼦类中的⽅法与⽗类中的⽅法的名称,参数个数、类型都完全⼀致时,就称⼦类中的这个⽅法重写了⽗类
中的⽅法。
重载:⼀个类中的⽅法与另⼀个⽅法同名,但是参数表不同,这种⽅法称之为重载⽅法。
3.⽅法中的ref参数和out、参数的⽤法是什么
①、ref的使⽤:使⽤ref进⾏参数的传递时,该参数在创建时,必须设置其初始值,且ref侧重于修改;
②、out的使⽤:采⽤out参数传递时,该参数在创建时,可以不设置初始值,但是在⽅法中必须初始化,out侧重于输出;
ref是有进有出,⽽out是只出不进。
4.简单介绍数组和集合的区别
①、数组声明了元素的类型,集合不声明
②、数组是静态的,有固定⼤⼩,创建了就⽆法改变容量,⽽集合是动态扩展容量,可以根据需要改变⼤⼩.
③、数组存放类型只能是⼀种,集合可以不是⼀种
5.简单介绍C#类中的两个特殊函数
构造函数
构造函数⼜叫构造⽅法,它是⼀种特殊的成员函数,它主要⽤于为对象分配存储空间,对数据成员进⾏初始化(对类进⾏初始化)。
如果类中没有声明构造函数,那么系统会⾃动⽣成⼀个构造函数,如果声明了构造函数,那么系统将不会再理会,构造函数可以重载
析构函数