当前位置: 首页 > 编程笔记 >

接口的隐式实现是什么?何时在C#中使用接口的隐式实现?

陈弘厚
2023-03-14
本文向大家介绍接口的隐式实现是什么?何时在C#中使用接口的隐式实现?,包括了接口的隐式实现是什么?何时在C#中使用接口的隐式实现?的使用技巧和注意事项,需要的朋友参考一下

C#接口成员可以显式或隐式实现。

隐式实现在成员名称之前不包括要实现的接口的名称,因此编译器会推断出该名称。成员将公开显示,并且在将对象转换为混凝土类型时可以访问。

方法的调用也没有不同。只需创建该类的对象并调用它即可。

如果在多个接口中声明了相同的方法名称,则不能使用隐式接口

示例

interface ICar {
   void displayCar();
}
interface IBike {
   void displayBike();
}
class ShowRoom : ICar, IBike {
   public void displayCar() {
      throw new NotImplementedException();
   }
   public void displayBike() {
      throw new NotImplementedException();
   }
}
class Program {
   static void Main() {
      ICar car = new ShowRoom();
      IBike bike = new ShowRoom();
      Console.ReadKey();
   }
}
 类似资料:
  • 本文向大家介绍详解C#中对于接口的实现方式(隐式接口和显式接口),包括了详解C#中对于接口的实现方式(隐式接口和显式接口)的使用技巧和注意事项,需要的朋友参考一下 C#中对于接口的实现方式有隐式接口和显式接口两种: 隐式地实现接口成员 创建一个接口,IChinese,包含一个成员 Speak;我们创建一个类Speaker,实现接口Chinese 这个就是隐式实现接口。 隐式实现调用方法如下: 都可

  • 问题内容: 因此我们都知道所有类都隐式扩展了Object。接口怎么样?是否存在隐式超级接口?我说有。以下代码编译: 该方法不是在Serializable中声明的,而是在Object中声明的。由于接口只能扩展其他接口,并且Object是类,而不是接口,因此必须存在一些要扩展的隐式接口。然后,该类必须隐式实现此隐式接口(哇,这很奇怪)。 所以,问题是,这有多正确? 问题答案: 由于接口只能扩展其他接口

  • 问题内容: 在C#中,如果有两个具有相同方法的基本接口(例如F()),则可以使用显式实现来执行不同的impl。对于F()。这使您可以不同地对待与当前视图相对应的对象:作为IMyInterface1或IMyInterface2。这在Java中可行吗? 问题答案: 不,没有像Java中C#的显式接口实现那样的东西。 从好的方面来说,Java具有协变量返回类型,因此,如果您想提供比接口指定的类型更强的实

  • 如何实现继承接口的函数?我有以下接口: 现在我希望IShelter有一个函数: 但我希望狗庇护所能这样实施: 像这样的猫头鹰: 有没有办法做到这一点?除了有DogShelter实现存储(IAnmial动物)和检查是否(动物是IDog)? 我应该用商店(动物),然后用(动物)投它吗? (我想使用关于IDog和ICat的接口继承。类继承在实际代码中是不可能的)(此时计算时间有点重要。使用Store(I

  • 本文向大家介绍什么是 MyBatis 的接口绑定?有哪些实现方式?相关面试题,主要包含被问及什么是 MyBatis 的接口绑定?有哪些实现方式?时的应答技巧和注意事项,需要的朋友参考一下 接口绑定,就是在 MyBatis 中任意定义接口,然后把接口里面的方法和 SQL 语句绑定, 我们直接调用接口方法就可以,这样比起原来了 SqlSession 提供的方法我们可以有更加灵活的选择和设置。 接口绑定

  • 我目前正在从事一个项目,该项目允许第三方连接到我们产品的消息代理。任务是提供一个第三方可以使用的库。我希望能够将公共交通或NServiceBus与之一起打包,但我希望将该细节隐藏在接口后面。 我把服务车藏起来了。。。 供应商不应该被允许发布/发送消息,而应该只消费。如何隐藏消息的消费,以便打包服务总线库而不暴露正在使用的库? 编辑1使用大众交通消费消息如下所示 在引导过程中,当您创建服务总线实例时