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

面试题 相关文章推荐
PHP面试题集
Dec 18 面试题
PHP开发工程师面试问题集锦
Nov 01 面试题
是否有自动比较结构的方法
Jun 03 面试题
介绍一下SQL Server里面的索引视图
Jul 31 面试题
2019史上最全Database工程师题库
Dec 06 面试题
.NET笔试题(20个问题)
Feb 02 面试题
你对IPv6了解程度
Feb 09 面试题
TCP/IP的分层模型
Oct 27 面试题
路由表示做什么用的?在linux环境中怎么来配置一条默认路由?
Jun 07 面试题
软件配置管理有什么好处
Apr 15 面试题
Unix控制后台进程都有哪些进程
Sep 22 面试题
在DELPHI中调用存储过程和使用内嵌SQL哪种方式更好
Nov 22 面试题
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
关于页面优化和伪静态
2009/10/11 PHP
PHP 数组基础知识小结
2010/08/20 PHP
解决PHP超大文件下载,断点续传下载的方法详解
2013/06/06 PHP
总结PHP如何获取当前主机、域名、网址、路径、端口和参数等
2016/09/09 PHP
php实现websocket实时消息推送
2018/03/30 PHP
javascript showModalDialog 内跳转页面的问题
2010/11/25 Javascript
JS实现切换标签页效果实例代码
2013/11/01 Javascript
PHP实现的各种中文编码转换类分享
2015/01/23 Javascript
JS使用oumousemove和oumouseout动态改变图片显示的方法
2015/03/31 Javascript
javaScript实现可缩放的显示区效果代码
2015/10/26 Javascript
jQuery xml字符串的解析、读取及查找方法
2016/03/01 Javascript
浅谈javascript中的Function和Arguments
2016/08/30 Javascript
jQuery dataTables与jQuery UI 对话框dialog的使用教程
2016/09/02 Javascript
JavaScript闭包和范围实例详解
2016/12/19 Javascript
10道典型的JavaScript面试题
2017/03/22 Javascript
通过命令行创建vue项目的方法
2017/07/20 Javascript
关于定制FileField中的上传文件名称问题
2017/08/22 Javascript
基于jQuery实现无缝轮播与左右点击效果
2018/05/13 jQuery
理顺8个版本vue的区别(小结)
2018/09/17 Javascript
Echarts之悬浮框中的数据排序问题
2018/11/08 Javascript
JavaScript实现获取两个排序数组的中位数算法示例
2019/02/26 Javascript
vue+element树组件 实现树懒加载的过程详解
2019/10/21 Javascript
详解Vue数据驱动原理
2020/11/17 Javascript
[45:52]完美世界DOTA2联赛PWL S3 Forest vs INK ICE 第二场 12.09
2020/12/12 DOTA
Python使用email模块对邮件进行编码和解码的实例教程
2016/07/01 Python
Python编程scoketServer实现多线程同步实例代码
2018/01/29 Python
python opencv之分水岭算法示例
2018/02/24 Python
python中将zip压缩包转为gz.tar的方法
2018/10/18 Python
Python实现扫码工具的示例代码
2020/10/09 Python
flask框架中的cookie和session使用
2021/01/31 Python
CSS3 选择器 基本选择器介绍
2012/01/21 HTML / CSS
英国乡村时尚和宠物用品专家:Pet & Country
2018/07/02 全球购物
电子狗项圈:eDog Australia
2019/12/04 全球购物
数控技术专业推荐信
2013/11/01 职场文书
六一节目主持词
2014/04/01 职场文书
2014县政府领导班子三严三实对照检查材料思想汇报
2014/09/26 职场文书