网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > C#教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.C#编程实用技巧:轻松实现对文件.
.C# 3.0语言详解之基本的语言增强.
.C#,深入浅出全接触(四).
.C#学习笔记(3).
.DotNet(C#)学习-你学到什么程度.
.SUNWEN教程之----C#进阶(九).
.理解C#中的string类型.
.数据结构与算法(C#实现)系列----.
.C#基础—关于类 .
.c#学习笔记(1).
.数据结构与算法(C#实现)系列---演.
.C# 3.0新特性系列:隐含类型var.
.一个用c#写的扫描asp源码漏洞的应.
.C#的前途如何?.
.C# 2.0与泛型.
.基于C#的接口基础教程之一.
.C#语言初级入门(1).
.SUNWEN教程之----C#进阶(十).
.C#正则表达式应用范例.
.SUNWEN教程之----C#进阶(八).

基于C#的接口基础教程之七

发表日期:2004-1-2


  第七节、覆盖虚接口

  有时候我们需要表达一种抽象的东西,它是一些东西的概括,但我们又不能真正的看到它成为一个实体在我们眼前出现,为此面向对象的编程语言便有了抽象类的概念。C#作为一个面向对象的语言,必然也会引入抽象类这一概念。接口和抽象类使您可以创建组件交互的定义。通过接口,可以指定组件必须实现的方法,但不实际指定如何实现方法。抽象类使您可以创建行为的定义,同时提供用于继承类的一些公共实现。对于在组件中实现多态行为,接口和抽象类都是很有用的工具。

  一个抽象类必须为类的基本类列表中列出的接口的所有成员提供实现程序。但是,一个抽象类被允许把接口方法映射到抽象方法中。例如


interface IMethods {
 void F();
 void G();
}
abstract class C: IMethods
{
 public abstract void F();
 public abstract void G();
}

  这里, IMethods 的实现函数把F和G映射到抽象方法中,它们必须在从C派生的非抽象类中被覆盖。
注意显式接口成员实现函数不能是抽象的,但是显式接口成员实现函数当然可以调用抽象方法。例如


interface IMethods
{
 void F();
 void G();
}
abstract class C: IMethods
{
 void IMethods.F() { FF(); }
 void IMethods.G() { GG(); }
 protected abstract void FF();
 protected abstract void GG();
}

  这里,从C派生的非抽象类要覆盖FF 和 GG, 因此提供了IMethods的实际实现程序。

上一篇:基于C#的接口基础教程之六 人气:19068
下一篇:C#就是Java只不过差了一点点 人气:17152
浏览全部基于C#的接口基础教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐