我的编程空间,编程开发者的网络收藏夹
学习永远不晚

C#接口的定义是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

C#接口的定义是什么

这篇文章主要介绍“C#接口的定义是什么”,在日常操作中,相信很多人在C#接口的定义是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#接口的定义是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

全面解析C#接口的定义
C#接口的定义从技术上讲,接口是一组包含了函数型方法的数据结构。通过这组数据结构,客户代码可以调用组件对象的功能。

C#接口的定义一般形式为:

[attributes] [modifiers] interface identifier [:base-list] {interface-body}[;]

C#接口的定义说明:

· attributes(可选):附加的定义性信息。

· modifiers(可选):允许使用的修饰符有new和四个访问修饰符。分别是:new、public、protected、internal、private。在一个接口定义中同一修饰符不允许出现多次,new修饰符只能出现在嵌套接口中,表示覆盖了继承而来的同名成员。The public, protected, internal, and private修饰符定义了对接口的访问权限。

· 指示器和事件。

· identifier:接口名称。

· base-list(可选):包含一个或多个显式基接口的列表,接口间由逗号分隔。

· interface-body:对接口成员的定义。

· 接口可以是命名空间或类的成员,并且可以包含下列成员的签名: 方法、属性、索引器 。

· 一个接口可从一个或多个基接口继承。

接口这个概念在C#和Java中非常相似。接口的关键词是interface,一个接口可以扩展一个或者多个其他接口。按照惯例,接口的名字以大写字母"I"开头。下面的代码是C#接口的一个例子,它与Java中的接口完全一样:

interface IShape  {       void Draw ( ) ;  }

如果你从两个或者两个以上的接口派生,父接口的名字列表用逗号分隔,如下面的代码所示:

interface INewInterface: IParent1, IParent2 { }

然而,与Java不同,C#中的接口不能包含域(Field)。另外还要注意,在C#中,接口内的所有方法默认都是公用方法。在Java中,方法定义可以带有public修饰符(即使这并非必要),但在C#中,显式为接口的方法指定public修饰符是非法的。例如,下面的C#接口将产生一个编译错误。

interface IShape { public void Draw( ) ; }

下面的例子定义了一个名为IControl 的接口,接口中包含一个成员方法Paint:

interface IControl {  void Paint( ) ;  }

在下例中,接口 IInterface从两个基接口 IBase1 和 IBase2 继承:

interface IInterface: IBase1, IBase2 {     void Method1( ) ;     void Method2( ) ;  }

接口可由类实现。实现的接口的标识符出现在类的基列表中。例如:

class Class1: Iface1, Iface2 {     // class 成员。  }

类的基列表同时包含基类和接口时,列表中首先出现的是基类。例如:

class ClassA: BaseClass, Iface1, Iface2 {     // class成员。  }

以下的代码段定义接口IFace,它只有一个方法:

interface IFace {    void ShowMyFace( ) ;  }

不能从这个定义实例化一个对象,但可以从它派生一个类。因此,该类必须实现ShowMyFace抽象方法:

class CFace:IFace  {    public void ShowMyFace( )   {      Console.WriteLine(" implementation " ) ;     }   }

C#接口的定义之基接口

一个接口可以从零或多个接口继承,那些被称为这个接口的显式基接口。当一个接口有比零多的显式基接口时,那么在接口的定义中的形式为,接口标识符后面跟着由一个冒号":"和一个用逗号","分开的基接口标识符列表。

C#接口的定义之接口基:

接口类型列表说明:

· 一个接口的显式基接口必须至少同接口本身一样可访问。例如,在一个公共接口的基接口中指定一个私有或内部的接口是错误的。

· 一个接口直接或间接地从它自己继承是错误的。

· 接口的基接口都是显式基接口,并且是它们的基接口。换句话说,基接口的集合完全由显式基接口和它们的显式基接口等等组成。在下面的例子中

interface IControl {   void Paint( ) ;  }  interface ITextBox: IControl {   void SetText(string text) ;  }  interface IListBox: IControl {   void SetItems(string[] items) ;  }  interface IComboBox: ITextBox, IListBox { }

IComboBox 的基接口是IControl, ITextBox, 和 IlistBox。

· 一个接口继承它的基接口的所有成员。换句话说,上面的接口IComboBox就像Paint一样继承成员SetText 和 SetItems。

· 一个实现了接口的类或结构也隐含地实现了所有接口的基接口。

C#接口的定义之接口主体

一个接口的接口主体定义接口的成员。

interface-body:  {   interface-member-declarationsopt   }

到此,关于“C#接口的定义是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

C#接口的定义是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

C#接口的定义是什么

这篇文章主要介绍“C#接口的定义是什么”,在日常操作中,相信很多人在C#接口的定义是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#接口的定义是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!全面
2023-06-17

C#接口怎么定义

这篇文章主要介绍“C#接口怎么定义”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C#接口怎么定义”文章能帮助大家解决问题。C# 接口(Interface)接口定义了所有类继承接口时应遵循的语法合同。
2023-06-17

C#中怎么定义接口

C#中怎么定义接口,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。C#接口定义之声明接口声明接口在语法上和声明抽象类完全相同,例如这里有一个银行账户的接口:public in
2023-06-17

C#如何定义接口

这篇文章主要为大家展示了“C#如何定义接口”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C#如何定义接口”这篇文章吧。从技术上讲,接口是一组包含了函数型方法的数据结构。通过这组数据结构,客户代码
2023-06-17

C#封装的定义是什么

这篇文章主要介绍了C#封装的定义是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C#封装的定义是什么文章都会有所收获,下面我们一起来看看吧。C# 封装封装 被定义为"把一个或多个项目封闭在一个物理的或者逻辑
2023-06-17

c++宏定义指的是什么

C++宏定义是一种预处理指令,用于在编译前对源代码进行替换和扩展。宏定义使用`#define`关键字来定义一个标识符代表一个字符串或一个表达式。当源代码中出现该标识符时,预处理器会将其替换为对应的字符串或表达式。宏定义可以用于定义常量、简
2023-10-25

usb-c接口和type-c接口的区别是什么

小编给大家分享一下usb-c接口和type-c接口的区别是什么,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!usb-c接口和type-c接口没有区别,【type-c】接口和【usb-c】接口其实是一个东西,【USB-C】接
2023-06-06

python接口的定义

什么是接口 ?接口只是定义了一些方法,而没有去实现,多用于程序设计时,只是设计需要有什么样的功能,但是并没有实现任何功能,这些功能需要被另一个类(B)继承后,由 类B去实现其中的某个功能或全部功能。个人的理解,多用于协作开发时,有不同的人在
2023-01-31

c++定义类的方法是什么

在C++中定义一个类,可以使用如下的语法:class MyClass {public:// 成员变量int myVar;// 成员函数void myFunction() {// 函数实现}};在这个例子中,MyClass 是类的名称,
c++定义类的方法是什么
2024-04-09

C#接口如何定义和继承

这篇文章给大家分享的是有关C#接口如何定义和继承的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。C#接口定义C#不支持多重继承,但是客观世界出现多重继承的情况又比较多。为了避免传统的多重继承给程序带来的复杂性等问题
2023-06-17

TypeScript怎么定义接口

这篇文章主要讲解了“TypeScript怎么定义接口”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“TypeScript怎么定义接口”吧!接口的作用:接口,英文:interface,其作用可以
2023-06-20

c++中setw定义的方法是什么

在C++中,setw是iomanip标准库提供的一个控制输出格式的函数。setw用于设定下一个输出的字段宽度,即输出的内容在指定的宽度内对齐,并且不够宽度的部分用填充字符填充。例如:#include #includ
c++中setw定义的方法是什么
2024-03-13

c++ enum重定义的方法是什么

在C++中,enum是一种枚举类型,用于定义一组常量。enum类型只能定义一次,不能重定义。然而,如果需要重新定义enum类型,可以使用enum class关键字。enum class是C++11引入的新特性,用于创建强类型的枚举类型。使
c++ enum重定义的方法是什么
2024-02-29

C++ 静态函数的定义是什么?

静态函数是类中不属于任何对象的独立函数,用于封装类级操作和全局访问。它们的特点包括:1. 不依赖于对象;2. 全局可见性;3. 不可继承和重写。静态函数可用于优化性能和简化对类级功能的访问,如访问全局变量或执行类级操作。C++ 静态函数详解
C++ 静态函数的定义是什么?
2024-04-16

usb-c接口的作用是什么

usb-c接口的作用是什么?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。USB-C接口的意思是:USB的Type-C类型的接口。Type-C是一种既可以应用于P
2023-06-14

C#中接口的作用是什么

这篇文章给大家介绍C#中接口的作用是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。C#接口的作用实例说明:public interface IBark { void Bark(); }再定义一个类,继
2023-06-17

java SPI怎么定义接口

这篇文章主要介绍了java SPI怎么定义接口的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇java SPI怎么定义接口文章都会有所收获,下面我们一起来看看吧。使用说明服务提供者提供接口的具体实现后,在jar包
2023-06-30

golang的接口怎么定义使用

这篇文章主要讲解了“golang的接口怎么定义使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“golang的接口怎么定义使用”吧!在golang中,接口是一种类型,是用来将对方法进行一个收
2023-07-04

C#中的变量定义语法是什么

这篇文章主要介绍“C#中的变量定义语法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C#中的变量定义语法是什么”文章能帮助大家解决问题。C# 中的变量定义C# 中变量定义的语法:
2023-06-17

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录