C#简答题及解析答案

您所在的位置:网站首页 装表接电简答题及答案大全及解析 C#简答题及解析答案

C#简答题及解析答案

2024-07-10 22:29| 来源: 网络整理| 查看: 265

1、什么是装箱和拆箱? 

装箱是从值类型到引用类型的隐式转换;

拆箱是从引用类型到值类型的显示转换;

2、什么是重载和重写 

Overload:重载就是在同一个类中,方法名相同,参数列表不同。参数列表不同包括:参数的个数不同,参数类型不同等。

override:说的是两个类继承,子类重写父类的方法,在调用的时候,子类的方法会覆盖父类的方法,也就是会调用子类的方法。在父类中的方法必须有修饰符virtual,而在子类的方法中必须指明override。

3、说说抽象方法和虚方法的相同点与不同点。 

抽象方法是只有定义,没有实际方法体的函数,它只能在抽象函数中出现,并且在子类中必须重写;

虚方法则有自己的函数体,已经提供了函数实现,但是允许在子类中重写或覆盖。 

4、接口和抽象类的区别是什么? 

接口中只能声明方法,属性,事件,索引器。不能包含字段、构造函数、析构函数、静态成员或常量。

抽象类中可以有方法的实现,也可以定义非静态的类变量。

抽象类只能被单继承,接口可以实现多个。

抽象类可以提供某些方法的部分实现,接口不可以。

抽象类的实例是它的子类给出的。接口的实例是实现接口的类给出的。

抽象类中加入一个方法,抽象类的子类就同时有了这个方法。

接口中加入新的方法,实现该接口的类需要重新编写。

接口成员被定义为公共的。

抽象类的成员可以是私有的、受保护的、内部的或受保护的内部成员。

接口用于规范。抽象类用于共性。

5、C#用多种修饰符来表达类的不同性质。根据其保护级C#的类有五种不同的限制修饰符,请写出三种并指出它们之间的区别是什么? 

public 可以被任意存取 

protected只可以被本类和其继承子类存取 

internal只可以被本程序集内所有的类存取,其编译后的文件扩展名往往是“.DLL”或“.EXE”。 

protected internal唯一的一种组合限制修饰符,它只可以被本组合体内所有的类和这些类的继承子类所存取。 

private只可以被本类所存取。   

6、类和对象的区别和关系是什么?

类是对象的抽象,它为属于该类的全部对象提供了统一的抽象描述。

类是对象的模板,对象是类的实例

7、静态字段和非静态字段的区别?

静态字段使用static 修饰;非静态不用。

静态字段属于类,为所有对象共用;非静态字段属于对象,为对象专用。

静态字段使用类名来访问;非静态字段使用对象来访问。

8、抽象方法和虚方法的区别?

抽象方法使用abstract修饰,只有定义,没有方法体实现,只能出现在抽象类中,子类必须重写;

虚方法使用virtual修饰,有方法体实现,允许子类重写或覆盖。

9、如何区别重载方法? 在一个类中,方法名字相同,参数不同;包括不同的参数个数,不同的参数类型,不同的参数顺序 10、构造方法有哪些特征?

(1)函数名与类名相同;

(2)没有返回值类型;

(3)系统自动调用

11、简述变量的命名规则

由数字、字母和下划线组成,不能以数字开头,不能是关键字。

12、什么是抽象类和密封类(最好简述一下它们都有什么特点)

抽象类用abstract修饰,能够包含抽象成员。抽象类不能直接实例化,也不能被密封,只能作为其它类的基类。

密封类用sealed修饰,不能用作基类。因此,它也不能是抽象类。密封类主要用于防止派生。

13、解释virtual、sealed、override和abstract的区别

virtual声明虚方法的关键字,说明该方法可以被重写; 

sealed说明该类不可被继承;

override重写基类的方法;

abstract声明抽象类和抽象方法的关键字,抽象方法不提供实现,由子类实现,抽象类不可实例化。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3