- 1
- 0
- 约7.44千字
- 约 10页
- 2021-01-12 发布于山东
- 举报
.
面向对象程序设计
描述 new 有两种用法
第一种 :new Class(): 创建对象
第二种 : 覆盖方法
public new XXXX(){}
类成员有 ( ) 种可访问控制权限
可访问性: public ,protected ,private,internal
用 sealed 修饰的类有什么特点
sealed 修饰符用于防止从所修饰的类派生出其它类。 如果一个密封类被指定为其他类的基
类,则会发生编译时错误。
密封类不能同时为抽象类。
如何理解委托?
答 : 据说相当于函数指针 , 定义了委托就可以在不调用原方法名称的情况下调用那个方法 . 5.C#中的实现多继承的是什么
答: 接口
传入某个属性的 set 方法的隐含参数的名称是什么?
value ,它的类型和属性所声名的类型相同。
委托声明的关键字是 ___ delegate ___
下面的代码中有什么错误吗? _______
using System; class A
{
public virtual void F(){ Console.WriteLine(A.F);
}
}
abstract class B:A
{
public abstract override void F();
.
.
答: abstract override 是不可以一起修饰 .
} // new public abstract void F();
9..net 的错误处理机制是什么?
答: .net 错误处理机制采用 try-catch-finally 结构,发生错误时,层层上抛,直到找
到匹配的 Catch 为止。
如何在 C#中实现继承?也就是继承的格式在类名后加上一个冒号,再加上基类的名称。
描述一下 C#中索引器的实现过程,是否只能根据数字进行索引?答:不是。可以用任意类型
被 protected 修饰的属性 / 方法在何处可以访问?在继承或间接继承与这个类的子类中可以访问。
私有成员会被继承么?
会,但是不能被访问。所以看上去他们似乎是不能被继承的,但实际上确实被继承了。
14. 请描述一下修饰符 protected internal.
被 protected internal 修饰的属性 / 方法只能在它的在同一个程序集( Assembly )中的子类
被访问。
15.C#提供一个默认的无参数构造函数, 当实现了另外一个有一个参数的构造函数时候, 还
想保留这个无参数的构造函数。这样应该写几个构造函数?
两个,一旦你实现了一个构造函数, C#就不会再提供默认的构造函数了,所以需要手动实
现那个无参数构造函数。
16.C#中所有对象共同的基类是什么?
System.Object.
重载和覆写有什么区别?
重载提供了对一个方法签名的不同参数调用的实现。覆写提供了子类中改变父类方法行为的实现。
在方法定义中, virtual 有什么含意?被 virtual 修饰的方法可以被子类覆写。
能够将非静态的方法覆写成静态方法么?
.
.
不能,覆写方法的签名必须与被覆写方法的签名保持一致,除了将 virtual 改为 override.
可以覆写私有的虚方法么?
不可以,甚至子类中无法访问父类中的私有方法。
能够阻止某一个类被其他类继承么?可以,使用关键字 sealed.
能够实现允许某个类被继承,但不允许其中的某个方法被覆写么?可以,标记这个类为 public ,并标记这个方法为 sealed.
22. 什么是抽象类( abstract class )?
一种不可以被实例化的类。抽象类中一般含有抽象方法,当然也可有具体实现。继承类只有实现过所有抽象类的抽象方法后才能被实例化。
23. 接口( interface )是什么?
只含有公有抽象方法( public abstract method )的类。这些方法必须在子类中被实现。
以下关于 C#中方法重载的说法正确的是( CD)。(选择二项)
如两个方法名字不同,而参数的数量不同,那么它们可以构成方法重载
如两个方法名字相同,而返回值的数据类型不同,那么它们可以构成方法重载
如两个方法名字相同,而参数的数据类型不同,那么它们可以构成方法重载
如两个方法名字相同,而参数的数量不同,那么它们可以构成方法重载
25. 在 C#语法中,在派生类中对基类的虚函数进行重写,要求在声明中使用( A)关键字。
(选择一项)
A.override
B.new
C.static
D.virtual
26. C# 中关于委托,下面说法正确的是( ACD )。(选择两项)
.
.
委托是一种 的成
B.委托必 定 在 中
C.定 委托需要使用 delegate 关 字
D.委托是一种数据 型
27.下列关于 C# 的异
原创力文档

文档评论(0)