面向对象编程中的接口

时间:2016-03-11 16:36:47

标签: c#

疯狂,疯狂等......问题但是......

参考:https://en.wikipedia.org/wiki/Design_by_contract

因此,面向对象编程中的接口集成实现了检查对象内是否包含方法/属性的能力......但是如果您正在创建对象的实例,那么你肯定是' d知道它是否有某种方法?

参考:https://msdn.microsoft.com/en-us/library/87d83y5b.aspx

没有理由为什么你需要一个界面,因为即使用户输入也不会控制任何方法,属性或实例。

参考:https://stackoverflow.com/a/26437718/5897602

有人可以解释为什么你真的需要在课堂上实现一​​个接口吗?

提前致谢 - 试着绕过他们。

2 个答案:

答案 0 :(得分:2)

接口允许实现者说嘿,我可以这样做,而不是我就是这个

一个现实生活中的例子:

  

你是一个人(班级Human),你可以带咖啡(界面ICanBringCoffee)。我不会说你一个喝咖啡的人,它会告诉你你这样做的能力。你可以教你的猿做同样的事,但他不是人。他可以“实施”ICanBringCoffee,他的方式(称为“实施”)与你的不同。

通过界面,您可以定义一个合约,以便告知您可以向另一方提供的内容:

ICanBringCoffee c = someHumanOrApe;

c.BringCoffee();

在这里你可以看到好处:我不需要知道你是Human 带来咖啡。我可以简单地依靠我们的协议你可以做到这一点,也可以猿人。

答案 1 :(得分:0)

简单地说接口用作类签名。它们向您展示了类包含的内容,但隐藏了方法的具体实现。一个用途是用于公共Web服务,您想让全世界知道可以使用哪些方法,但是您想向世界展示如何在方法中进行精确计算吗?

http://www.cs.utah.edu/~germain/PPS/Topics/interfaces.html