abstract是什么意思


Posted in 面试题 onFebruary 12, 2012
abstract 修饰符可以用于类、方法、属性、事件和索引指示器(indexer),表示其为抽象成员
abstract 不可以和 static 、virtual 一起使用
声明为 abstract 成员可以不包括实现代码,但只要类中还有未实现的抽象成员(即抽象类),那么它的对象就不能被实例化,通常用于强制继承类必须实现某一成员
示例:
using System;
using System.Collections.Generic;
using System.Text;
namespace Example04
{
#region 基类,抽象类
public abstract class BaseClass
{
//抽象属性,同时具有get和set访问器表示继承类必须将该属性实现为可读写
public abstract String Attribute
{
get;
set;
}
//抽象方法,传入一个字符串参数无返回值
public abstract void Function(String value);
//抽象事件,类型为系统预定义的代理(delegate):EventHandler
public abstract event EventHandler Event;
//抽象索引指示器,只具有get访问器表示继承类必须将该索引指示器实现为只读
public abstract Char this[int Index]
{
get;
}
}
#endregion
#region 继承类
public class DeriveClass : BaseClass
{
private String attribute;
public override String Attribute
{
get
{
return attribute;
}
set
{
attribute = value;
}
}
public override void Function(String value)
{
attribute = value;
if (Event != null)
{
Event(this, new EventArgs());
}
}
public override event EventHandler Event;
public override Char this[int Index]
{
get
{
return attribute[Index];
}
}
}
#endregion
class Program
{
static void OnFunction(object sender, EventArgs e)
{
for (int i = 0; i {
Console.WriteLine(((DeriveClass)sender)[i]);
}
}
static void Main(string[] args)
{
DeriveClass tmpObj = new DeriveClass();
tmpObj.Attribute = “1234567″;
Console.WriteLine(tmpObj.Attribute);
//将静态函数OnFunction与tmpObj对象的Event事件进行关联
tmpObj.Event += new EventHandler(OnFunction);
tmpObj.Function(“7654321″);
Console.ReadLine();
}
}
}
结果:
1234567
7
6
5
4
3
2
1

Tags in this post...

面试题 相关文章推荐
什么是数组名
May 10 面试题
用缩写的指针比较"if(p)" 检查空指针是否可靠?如果空指针的内部表达不是0会怎么样?
Jan 05 面试题
以下为Windows NT 下的32 位C++程序,请计算sizeof 的值
Dec 07 面试题
如何估计一张表的大小(假设该表中有1万条数据)
Mar 27 面试题
Internal修饰符有什么含义
Jul 10 面试题
C#面试常见问题
Feb 25 面试题
Windows和Linux动态库应用异同
Apr 17 面试题
介绍一下grep命令的使用
Jun 28 面试题
广州足迹信息技术有限公司Java软件工程师试题
Feb 15 面试题
十一个高级MySql面试题
Oct 06 面试题
Java面试题汇总
Dec 06 面试题
J2EE面试题集锦(附答案)
Aug 16 面试题
C#基础面试题
Oct 17 #面试题
C#怎么让一个窗口居中显示?
Oct 20 #面试题
internal修饰符起什么作用
Dec 16 #面试题
C#软件工程师英语面试题
Jun 07 #面试题
C#如何进行LDAP用户校验
Nov 21 #面试题
sealed修饰符是干什么的
Oct 23 #面试题
维德科技C#面试题笔试题
Dec 09 #面试题
You might like
文件系统基本操作类
2006/11/23 PHP
phplot生成图片类用法详解
2015/01/06 PHP
PHP使用mongoclient简单操作mongodb数据库示例
2019/02/08 PHP
PHP操作Redis常用命令的实例详解
2020/12/23 PHP
Javascript 加载和执行-性能提高篇
2012/12/28 Javascript
如何创建一个JavaScript弹出DIV窗口层的效果
2013/09/25 Javascript
使用jQuery管理选择结果
2015/01/20 Javascript
JavaScript通过改变文字透明度实现的文字闪烁效果实例
2017/04/27 Javascript
vue项目中引入Sass实例方法
2019/08/27 Javascript
在layui中layer弹出层点击事件无效的解决方法
2019/09/05 Javascript
解决在Vue中使用axios用form表单出现的问题
2019/10/30 Javascript
javascript数组的定义及操作实例
2019/11/10 Javascript
vue中axios防止多次触发终止多次请求的示例代码(防抖)
2020/02/16 Javascript
[07:54]DOTA2 MV《我的动力鞋》 ImbaTV 出品
2014/11/21 DOTA
python实现的解析crontab配置文件代码
2014/06/30 Python
python获取android设备的GPS信息脚本分享
2015/03/06 Python
分析用Python脚本关闭文件操作的机制
2015/06/28 Python
利用python将图片转换成excel文档格式
2017/12/30 Python
Python实现PS滤镜Fish lens图像扭曲效果示例
2018/01/29 Python
利用Python进行数据可视化常见的9种方法!超实用!
2018/07/11 Python
TensorFlow用expand_dim()来增加维度的方法
2018/07/26 Python
python dataframe向下向上填充,fillna和ffill的方法
2018/11/28 Python
DataFrame:通过SparkSql将scala类转为DataFrame的方法
2019/01/29 Python
手把手教你使用Python创建微信机器人
2019/04/29 Python
next在python中返回迭代器的实例方法
2020/12/15 Python
Pandas数据分析的一些常用小技巧
2021/02/07 Python
Java 中访问数据库的步骤?Statement 和PreparedStatement 之间的区别?
2012/06/05 面试题
销售冠军获奖感言
2014/02/03 职场文书
2014年大学宣传部工作总结
2014/12/19 职场文书
个人收入证明格式
2015/06/24 职场文书
格列佛游记读书笔记
2015/06/30 职场文书
2016年先进班集体事迹材料
2016/02/26 职场文书
浅谈Python数学建模之数据导入
2021/06/23 Python
详解MindSpore自定义模型损失函数
2021/06/30 Python
Python Matplotlib绘制条形图的全过程
2021/10/24 Python
Python+Selenium实现抖音、快手、B站、小红书、微视、百度好看视频、西瓜视频、微信视频号、搜狐视频、一点号、大风号、趣头条等短视频自动发布
2022/04/13 Python