怀疑接口的实现

mit*_*538 0 oop class-design interface class

首先,这只是一个面向对象的编程问题,并不特别适用于任何语言.

这对我来说非常尴尬.这件事发生在我的工作中,我太害羞了,无法向同事澄清这一点,因为这表明我对面向对象编程的理解不足.所以这是事件:

有它实现接口I.这个接口有M. A类定义了体或者说此方法的实现的方法的A类.现在我有一个工具,使用它我可以找出哪些其他类或程序使用,或者换句话说,调用A类 - >方法M.When我用这个工具,它不返回任何结果; 我没有上课的指示是调用方法M.

当我分享我的观察与资深同事,他干脆跑到接口I - >法男,并在此所用的工具.它返回了不少结果.他告诉我,这些都是类或调用子程序M的方法,让我继续.

这个结果显然是实现接口I的那些类的列表.但我不明白的是,这是如何调用类A - >方法M的类或方法的集合.因为我自信地告诉我的同事没有类调用方法M,在他向我展示结果列表后,我太尴尬地问他怎么样,我正在寻找的结果.

知道我的同事暗示的是什么吗?

此致,Mithun

Jag*_*mag 6

为类提供接口背后的整个想法是,接口将用于传递实例.这是为了提供松耦合.现在,因为你实际上没有传递类,而是特定于该类的接口,例如:

void someMethod (ISomeClass intobject)
Run Code Online (Sandbox Code Playgroud)

代替

void someMethod (SomeClass obj)
Run Code Online (Sandbox Code Playgroud)

所以,当你试图调用内方法ISomeClass / SomeClass称为myMethodsomeMethod,它实际上是

 intobject.myMethod()
Run Code Online (Sandbox Code Playgroud)

因此,所有的用法都可以myMethod参考ISomeClass而不是真的SomeClass

编辑:也许它只是我,但我总是相信,当你不理解某些东西时,最好张嘴问一个问题而被误认为是傻瓜而不是让它关闭并证明自己是一个人!


hvg*_*des 5

我想你应该问你的家伙发生了什么事.你不应该害怕承认你不知道; 如果从中吸取教训,不知道是没有错的.如果我能够进入下一步并学习一些东西,我一直都是错的,并且不会感到尴尬.

我认为你所看到的是没有任何东西正在使用A类 - > M,但是我还有其他使用M的实现.这个工具找到了M被其他实现使用的地方.