面向对象编程中的接口



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

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

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

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

为什么

你需要一个接口是没有意义的,因为即使是用户输入也无法控制任何方法、属性或实例。

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

有人可以解释为什么你实际上需要在类上实现一个接口吗?

提前感谢 - 试图让我的头脑绕过他们。

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

一个现实生活中的例子:

你是一个人(Human类),你可以带咖啡(界面ICanBringCoffee)。我不会说你是一个咖啡带来者,它告诉你你有能力这样做。你可以教你的猿猴也这样做,但他不是人类。不过,他可以"实现"ICanBringCoffee,而他这样做的方式(称为"实现")与你的不同。

通过接口,您可以定义一个合约,该合约允许告诉您可以向另一方交付什么:

ICanBringCoffee c = someHumanOrApe;
c.BringCoffee();

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

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

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

最新更新