笔试一(填空简答题)
1 . .NET 中类和结构的区别? 类: 能声明默认构造函数、析构函数 , 引用类型 ,在 托管堆 上存储,如string, 能被继承 结构: 不能声明默认构造函数、 析构函数 , 值类型 ,在 内存栈 上分配地址,如int32, 不能被继承( 没有abstract 和sealed ), 可以不使用new 初始化 相同之处:基类型都是Object 如何选择用结构还是类: 1. 堆栈的空间有限,对于大量的逻辑的对象,创建类要比创建结构好一些 2. 结构表示如点、矩形和颜色这样的轻量对象 3.多层次,多对象用类 4.如果数据简单,而且数据量小 用结构 2.C#中值类型和引用类型的区别? 值类型: 内存栈 ,快,内存分配自动释放 引用类型: 内存堆 ,慢, 内存分配 由GC控制 3.堆和栈的区别? 栈: 编译期间 就分配好的内存空间,大小已定,无需管理,自动释放 堆: 运行时 分配的内存空间,大小动态改变, 由GC控制 关系:具体信息请看http://www.2cto.com/kf/201109/103302.html 4 .什么是抽象类,是否可以实现接口,是否可以继承实体类,什么是接口,接口和抽象类有什么区别?接口是否可以继承接口,抽象类是否可以实现接口,抽象类是否可以继承实体类? 抽象类在定义类型方法的时候, 可以给出方法的实现部分,也可以不给出 ,而接口所定义的方法 都不能给出