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程序员笔试题
Jan 01 面试题
如何启动时不需输入用户名与密码
May 09 面试题
一套Java笔试题
Aug 20 面试题
不开辟用于交换数据的临时空间,如何完成字符串的逆序
Dec 02 面试题
写出程序把一个链表中的接点顺序倒排
Apr 28 面试题
编写类String的构造函数、析构函数和赋值函数
May 29 面试题
介绍一下HDLC(High-Level Data Link Control)高层数据链路协议
Jan 21 面试题
英智兴达软件测试笔试题
Oct 12 面试题
EJB3推出JPA的原因
Oct 16 面试题
String s = new String(“xyz”);创建了几个String Object?
Aug 05 面试题
内部类的定义、种类以及优点
Oct 16 面试题
Structs界面控制层技术
Oct 11 面试题
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
解决控件遮挡问题:关于有窗口元素和无窗口元素
2007/01/28 PHP
利用ajax和PHP实现简单的流程管理
2017/03/23 PHP
php支付宝系列之电脑网站支付
2018/05/30 PHP
php 命名空间(namespace)原理与用法实例小结
2019/11/13 PHP
JavaScript 格式字符串的应用
2010/03/29 Javascript
js如何获取file控件的完整路径具体实现代码
2013/05/15 Javascript
Extjs4 类的定义和扩展实例
2013/06/28 Javascript
js中replace的用法总结
2013/12/27 Javascript
jquery提示效果实例分析
2014/11/25 Javascript
JavaScript中的闭包介绍
2015/03/15 Javascript
在JavaScript中操作数组之map()方法的使用
2015/06/09 Javascript
JS组件Bootstrap导航条使用方法详解
2016/04/29 Javascript
jQuery查找节点方法完整实例
2016/09/13 Javascript
webpack+vue.js快速入门教程
2016/10/12 Javascript
js判断是否是手机页面
2017/03/17 Javascript
脚手架vue-cli工程webpack的作用和特点
2018/09/29 Javascript
antd Upload 文件上传的示例代码
2018/12/14 Javascript
傻瓜式vuex语法糖kiss-vuex整理
2018/12/21 Javascript
Element的el-tree控件后台数据结构的生成以及方法的抽取
2020/03/05 Javascript
Vue基于iview table展示图片实现点击放大
2020/08/05 Javascript
[01:48]完美圣典齐天大圣至宝宣传片
2016/12/17 DOTA
python构造icmp echo请求和实现网络探测器功能代码分享
2014/01/10 Python
Python subprocess库的使用详解
2018/10/26 Python
python 利用pandas将arff文件转csv文件的方法
2019/02/12 Python
Python 一键获取百度网盘提取码的方法
2019/08/01 Python
win10子系统python开发环境准备及kenlm和nltk的使用教程
2019/10/14 Python
用python解压分析jar包实例
2020/01/16 Python
在pycharm中实现删除bookmark
2020/02/14 Python
Python 统计位数为偶数的数字代码详解
2020/03/15 Python
python实现感知机模型的示例
2020/09/30 Python
HTML5计时器小例子
2013/10/15 HTML / CSS
JYSK加拿大:购买家具、床垫、家居装饰等
2020/02/14 全球购物
给民警的表扬信
2014/01/08 职场文书
捐书倡议书
2014/08/29 职场文书
创业计划书之零食店(进口)
2019/09/24 职场文书
python字符串拼接.join()和拆分.split()详解
2021/11/23 Python