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...

面试题 相关文章推荐
编码实现字符串转整型的函数
Jun 02 面试题
C和C++经典笔试题附答案解析
Aug 18 面试题
C++是不是类型安全的
Feb 18 面试题
网络技术支持面试题
Apr 22 面试题
亿阳信通股份有限公司C#笔试题
Dec 06 面试题
C#可否对内存进行直接的操作
Feb 26 面试题
下列程序在32位linux或unix中的结果是什么
Jan 26 面试题
Linux机考试题
Oct 16 面试题
Linux的主要特性
Sep 03 面试题
异步传递消息系统的作用
May 01 面试题
请说出这段代码执行后a和b的值分别是多少
Mar 28 面试题
Java中的类包括什么内容?设计时要注意哪些方面
May 23 面试题
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
用PHP创建PDF中文文档
2006/10/09 PHP
PHP中GET变量的使用
2006/10/09 PHP
怎样在PHP中通过ADO调用Asscess数据库和COM程序
2006/10/09 PHP
php foreach正序倒序输出示例代码
2014/07/01 PHP
PHP处理Oracle的CLOB实例
2014/11/03 PHP
php版银联支付接口开发简明教程
2016/10/14 PHP
修改yii2.0用户登录使用的user表为其它的表实现方法(推荐)
2017/08/01 PHP
发布BlueShow v1.0 图片浏览器(类似lightbox)blueshow.js 打包下载
2007/07/21 Javascript
JavaScript 图片预览效果 推荐
2009/12/22 Javascript
页面只能打开一次Cooike如何实现
2012/12/04 Javascript
jquery 操作iframe的几种方法总结
2013/12/13 Javascript
浅析tr的隐藏和显示问题
2014/03/05 Javascript
详解JavaScript正则表达式中的global属性的使用
2015/06/16 Javascript
鼠标经过子元素触发mouseout,mouseover事件的解决方案
2015/07/26 Javascript
Jquery ajax加载等待执行结束再继续执行下面代码操作
2015/11/24 Javascript
学习JavaScript设计模式之代理模式
2016/01/12 Javascript
BootStrap表单控件之复选框checkbox和单选择按钮radio
2017/05/23 Javascript
使用vue和datatables进行表格的服务器端分页实例代码
2017/06/07 Javascript
基于vue2.0实现的级联选择器
2017/06/09 Javascript
解决jquery的ajax调取后端数据成功却渲染失败的问题
2018/08/08 jQuery
详解webpack之图片引入-增强的file-loader:url-loader
2018/10/08 Javascript
JS中数据结构与算法---排序算法(Sort Algorithm)实例详解
2019/06/17 Javascript
[50:22]完美盛典-2018年度红毯走秀
2018/12/16 DOTA
详解在Python程序中使用Cookie的教程
2015/04/30 Python
python写日志封装类实例
2015/06/28 Python
Python的Django框架中的数据库配置指南
2015/07/17 Python
python之virtualenv的简单使用方法(必看篇)
2017/11/25 Python
python实现批量修改图片格式和尺寸
2018/06/07 Python
使用Python向C语言的链接库传递数组、结构体、指针类型的数据
2019/01/29 Python
python仿evething的文件搜索器实例代码
2019/05/13 Python
python tornado使用流生成图片的例子
2019/11/18 Python
Python 用__new__方法实现单例的操作
2020/12/11 Python
ANINE BING官方网站:奢华的衣橱基本款和时尚永恒的单品
2019/11/26 全球购物
学习自我鉴定
2014/02/01 职场文书
Redis 报错 error:NOAUTH Authentication required
2022/05/15 Redis
LyScript实现绕过反调试保护的示例详解
2022/08/14 Python