第七节、覆盖虚接口
有时候我们需要表达一种抽象的东西,它是一些东西的概括,但我们又不能真正的看到它成为一个实体在我们眼前出现,为此面向对象的编程语言便有了抽象类的概念。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#的接口基础教程--
C#完整教程以下是目录: 第一章 C#语言基础 5 1.1 C#语言特点 5 1.2 编写控制台应用程序 6 1.3 类的基本概念 10 1.4 C#的数据类型 13 1.5 运算符 20 1.6 程序控制语句 23 1.7 类的继承 26 1.8 类的成员 28 1.9 类的...
基础教程 RSS Web2.0时代,RSS你会用了吗?(技术实现总结) 知识集锦:三分钟全面了解 Blog 和 RSS C#+ASP.NET开发基于Web的RSS阅读器 ASP.NET RSS Toolkit(RSS工具) Serialize Your Deck with Positron [XML ...
助力学员掌握接口测试的基本要领,快速学会接口测试的基础技能,为后续的进阶、高阶技能学习打下扎实的基础。工作室全程线下辅导,解决学员学习中的疑点及难点。 主讲老师为资深高级技术专家。毕业于电子科技大学。...
Chapter02——第2章 C#语言程序设计基础 Chapter03——第3章 ASP.NET服务器端控件 Chapter04——第4章 ASP.NET的页面结构和内置对象 Chapter05——第5章 .NET框架类 Chapter06——第6章 ADO.NET数据...
第1部分.NET应用开发基础,介绍了.NET应用开发体系与开发环境配置,以及C#语言程序设计基础;第2部分ASP.NET程序设计基础,介绍了ASP.NET服务器端控件、页面结构、内置对象及.NET框架类;第3部分ASP.NET数据库程序...
可以只使用 C++ 中的 C 子集来调用 GTK,这样就可以使用本教程描述的 C 接口。其次,你可以用下述方法同时使用 GTK 和 C++:把所 用的回调函数定义为 C++ 类中的静态成员函数,然后仍然使用 C 接口来调用 GTK。如果...
本课程是接口测试的基础+进阶+高阶的实战精品课程。 老师从多角度、多方位基于Demo进行讲解,力求做到认真细致讲好课程的每一要点。 全方位助力学员掌握接口测试的技术要领,快速跃升为接口测试方面的高手。 Demo...
基于CFFI和DSS C-API,旨在在Windows,Linux和MacOS上实现完全COM兼容性。 另请参阅来自的其他项目: :通过更传统的C接口(使用开源Free Pascal编译器而不是Delphi构建)来公开EPRI OpenDSS的稍微修改版本的基础库...
热门Tag JAVA C++ linux C# 教程 C语言 android 源码 PDF 编程 sql c Windows matlab ORACLE 源代码 api 中文 数据库 arm JavaScript 破解 数据结构 vc visual jQuery 计算机 答案 单片机 php JSP mfc .NET 中文版 ...
基于最新的.NET技术 (目前是ASP.NET MVC 5、Web API 2、C# 5.0,在ASP.NET 5正式发布后会升级) 实现领域驱动设计(实体、仓储、领域服务、领域事件、应用服务、数据传输对象,工作单元等等) 实现分层体系结构...