【发布时间】:2015-06-14 20:14:02
【问题描述】:
很长一段时间以来,我一直在为接口而喘不过气来,但我仍然无法理解它们的功能以及它们的作用。我阅读了数以千计的论坛帖子,并且一直在问自己一个问题。我会向你解释我要问的问题是什么。
我们有这个核心,它做了一件非常简单的事情。我们采用一个类,并在主类中使用接口调用该类中声明的函数。
public interface IAnimal
{
string GetDescription();
}
class Cat : IAnimal
{
public string GetDescription()
{
return "I'm a cat";
}
}
class Program
{
static void Main(string[] args)
{
Cat myCat = new Cat();
Console.WriteLine(myCat.GetDescription());
}
}
我一直在问自己的问题。我们为什么要这样做呢?重点是什么? 为什么不简单地这样做:
class Cat
{
public static string GetDescription()
{
return "I'm a cat";
}
}
class Program
{
static void Main(string[] args)
{
Cat.GetDescription();
}
}
我将不胜感激任何帮助和适当的解释。我愿意接受简单准确的例子。没什么太复杂的。我还希望您提供一些文字并解释为什么会出现这个和那个。
谢谢。
编辑: 我很抱歉让一些人感到困惑。在第二个描述中,我忘记将 public void cat 更改为 public static void cat,因此它无法访问并且没有编译。
【问题讨论】:
-
您的第二个示例甚至无法编译。
GetDescription()不是静态方法,您正在尝试将其用作一个方法 -
那时你可能没有阅读任何好的材料。界面是一个关键的软件设计概念,有无数的好例子。
-
如果你是狗怎么办?
-
“我们上一节课”——这是你的问题。当您有多个类时,接口最有用。此外,当您试图了解该功能在现实世界中的用途时,使用这些人为的示例也无济于事。
-
这不是一个简单的具体问题。它需要一个面向对象设计原则的教程,这不是正确的地方。