gpt4 book ai didi

java - 接口(interface)如何执行操作

转载 作者:行者123 更新时间:2023-11-29 08:06:09 25 4
gpt4 key购买 nike

现在我遇到了 Observer/Observable 模式,我让 Observable 通知我所有的观察者。 Observers 都实现了 Observer 接口(interface),而 Observable 扩展了 Observable。我想我正在尝试填补我对接口(interface)的知识空白。我了解抽象类的意义以及它们的工作方式,但接口(interface)一直很棘手。对于接口(interface),我知道它们充当模板,如果你实现一个,那么你需要从接口(interface)添加所有方法。我认为这纯粹是为了在您的项目中提供组织帮助。

虽然在这个 Observer/Observable 案例中,我不明白在实现 Observer 的对象中如何调用 update() 函数。到 Observable 的唯一链接是您必须调用 addObserver() 来添加观察者,然后将其存储在列表中,并添加其他观察者。但是在那之后,如何在每个 Observer 上调用 update() 呢?一旦我调用 setChanged() 然后调用 notifyObservers(),Observable 是否只是一个接一个地遍历观察者列表并调用 observer.update()?这是有道理的,但实现比我想象的更隐蔽。

我把它放在观察者模式的上下文中,但它确实适用于任何事情。我注意到几乎所有基于事件的事物都使用接口(interface)。这是因为它保证了对象将具有随后调用的功能吗?

最佳答案

I understand the point of abstract classes and how they work

那么您已完成 95% 的界面理解。接口(interface)与抽象类几乎相同,只是接口(interface)不能包含任何具体方法实现。

Is this because it is guaranteed that the Object will have the function that is then called?

是的,完全正确。

关于java - 接口(interface)如何执行操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11103801/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com