如果一个类正在使用接口,那么它必须

时间:2013-11-26 13:43:01

标签: c# class inheritance interface

  

如果某个类正在使用接口,则必须:

     
      
  • (1)继承接口的属性

  •   
  • (2)包含与接口

  • 相同的方法   
  • (3)创建一个界面对象

  •   
  • (4)以上所有

  •   

正确的答案是(4)以上所有

注意:这来自here,我不知道该问题的作者究竟是谁。

我同意(1)st和(2)nd,但我会争论(3)rd的措辞。

我想它可以被双重解释;

创建接口对象可能只是一个继承接口的类的实例

接口类型的参考变量


解释上述内容的正确方法是什么?

以下是否有意义?

  

如果某个类正在使用接口,则必须:

     
      
  • (1)继承接口的属性

  •   
  • (2)为界面公开的所有方法提供实现

  •   
  • (3)???

  •   
  • (4)以上所有

  •   

2 个答案:

答案 0 :(得分:8)

  

(2)为接口公开的所有方法提供实现

没有。抽象类可以在不提供实现的情况下实现接口(它们仍然必须声明接口中定义的方法,但它们不必提供主体)。

我不知道如何解释3号。当你通过链接查看时,它只是一个措辞严重的问题。我还在试图找出这意味着什么:

  1. 代码公共类B的输出是什么:A {}
    • 错误
    • 它定义了一个继承A的公共方法的类。
    • 它定义了一个继承A的所有方法的类,但无法访问私有成员。
    • b和c

答案 1 :(得分:-1)

我认为你只是误读了一些东西。我所看到的文字告诉我的是

(1)实现一个类,以便您可以创建一个对象,该对象是该类的实例,该类的每个方法和实现的接口必须具体 - 必须完全实现。

(2)因为接口与对象实例相关联,所以在您可以访问关联的方法之前,实际上必须存在对象实例。

我并没有真正看到它说更深刻或更清楚的东西。你问过的那一行似乎只是在第二点:要实际使用接口方法,你需要有一个关联类的对象,可以在其上调用方法。

这是因为C#中的接口不支持静态方法。因此,所有方法都是实例方法......因此,如果没有关联对象(接口实例)或“接口对象”,就不能“使用”接口,因为它们似乎在这里使用该术语。 / p>