接口是c#中的一个类或实体

本文关键字:一个 实体 接口 | 更新日期: 2023-09-27 18:17:02

什么是c#中的接口?

我知道接口是一个实体而不是一个类。但是我访问过的一些博客认为Interface是一个类。如果Interface是一个类,那么它应该支持数据抽象。

请详细说明Interface是什么。

我访问这个网站是为了准备面试问题:

33。类和接口的区别是什么?

Class是对象的逻辑表示。它是具有定义的数据和相关子过程的集合。

Interface也是一个包含没有任何定义的方法的类,不支持多重继承。但是接口可以支持。

如果面试官问我什么是界面,我应该怎么回答?当他们问它是否支持数据抽象时?

接口是c#中的一个类或实体

接口看起来像一个类,但没有实现。它唯一包含的是事件、索引器、方法和/或属性的声明。接口只提供声明的原因是因为它们由类和结构继承,而类和结构必须为声明的每个接口成员提供实现。

来源:http://www.csharp-station.com/Tutorial/CSharp/lesson13

实际上我以前在面试中问过这个问题,所以我很清楚面试官可能想从答案中得到什么。你引用的文章说,

Interface也是一个包含没有任何定义的方法的类,不支持多重继承。但是接口可以支持。

忽略这里的语法和拼写问题,接口是而不是一个类。这两者是截然不同的概念。如果被采访者给我这个答案,我会认为他们对这个主题的理解很差(或者至少他们不擅长交流)。

回答这类面试问题的一个更好的方法是:

接口类型,它可以包含事件、方法、属性或索引器声明,但不包含它们的定义。类不支持多重继承,但接口支持。也不像类或结构,接口不能定义构造函数或直接实例化;相反,接口可以由类或结构实现,然后可以实例化。

还可以指出,与类不同,接口中的泛型类型参数可以声明为协变或逆变。

接口只是程序员使用抽象的众多方式之一(抽象类是另一种)。它们允许您指定类(或结构)必须满足的一般契约,而无需了解如何满足该契约。

现在关于你对实体的困惑& help;术语"实体",至少在。net应用程序的上下文中,通常是指在实体框架模型中声明的类,用于通过代码与数据库进行交互。阅读更多关于实体框架的信息:

  • StackOverflow: entity-framework tag wiki
  • 维基百科:实体框架Codeplex: Entity Framework