手机
当前位置:查字典教程网 >编程开发 >C#教程 >C#学习基础概念二十五问 11-15
C#学习基础概念二十五问 11-15
摘要:11.可以使用抽象函数重写基类中的虚函数吗?答:可以需使用new修饰符显式声明,表示隐藏了基类中该函数的实现或增加override修饰符,表...

11.可以使用抽象函数重写基类中的虚函数吗?

答:

可以

需使用new修饰符显式声明,表示隐藏了基类中该函数的实现

或增加override修饰符,表示抽象重写了基类中该函数的实现

示例:

classBaseClass

{

publicvirtualvoidF()

{

Console.WriteLine("BaseClass.F");

}

}

abstractclassDeriveClass1:BaseClass

{

publicabstractnewvoidF();

}

//感谢watsonhua(http://huazhihao.cnblogs.com/)的指点

//是他提醒了我还可以用这种方法抽象重写基类的虚方法

abstractclassDeriveClass2:BaseClass

{

publicabstractoverridevoidF();

}

12.密封类可以有虚函数吗?

答:

可以,基类中的虚函数将隐式的转化为非虚函数,但密封类本身不能再增加新的虚函数

示例:

classBaseClass

{

publicvirtualvoidF()

{

Console.WriteLine("BaseClass.F");

}

}

sealedclassDeriveClass:BaseClass

{

//基类中的虚函数F被隐式的转化为非虚函数

//密封类中不能再声明新的虚函数G

//publicvirtualvoidG()

//{

//Console.WriteLine("DeriveClass.G");

//}

}

13.什么是属性访问器?

答:

属性访问器(PropertyAccessor),包括get访问器和set访问器分别用于字段的读写操作

其设计目的主要是为了实现面向对象(OO)中的封装思想。根据该思想,字段最好设为private,一个精巧的类最好不要直接把字段设为公有提供给客户调用端直接访问

另外要注意属性本身并不一定和字段相联系

14.abstract可以和virtual一起使用吗?可以和override一起使用吗?

答:

abstract修饰符不可以和static、virtual修饰符一起使用

abstract修饰符可以和override一起使用,参见第11点

示例:

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Text;

namespaceExample14

{

classBaseClass

{

publicvirtualvoidF()

{

Console.WriteLine("BaseClass.F");

}

}

abstractclassDeriveClass1:BaseClass

{

//在这里,abstract是可以和override一起使用的

publicabstractoverridevoidF();

}

classProgram

{

staticvoidMain(string[]args)

{

}

}

}

15.接口可以包含哪些成员?

答:

接口可以包含属性、方法、索引指示器和事件,但不能包含常量、域、操作符、构造函数和析构函数,而且也不能包含任何静态成员

【C#学习基础概念二十五问 11-15】相关文章:

C#程序打成 一键安装包-InstallShield教程

C#基础:基于const与readonly的深入研究

C#版ftp方法实现类的代码

C#最简单的关闭子窗体更新父窗体的实现方法

描述C#多线程中lock关键字的使用分析

C#下解析HTML的两种方法介绍

C#基础 延迟加载介绍与实例

C#学习基础概念二十五问续2第1/2页

C#基础概念二十五问 21-25

C# 无需COM组件创建快捷方式的实现代码

精品推荐
分类导航