C#简答题及解析答案 |
您所在的位置:网站首页 › 装表接电简答题及答案大全及解析 › C#简答题及解析答案 |
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 |