gpt4 book ai didi

Java - 特定对象上的方法的监听器

转载 作者:行者123 更新时间:2023-12-01 09:33:23 24 4
gpt4 key购买 nike

是否可以为特定对象上的方法创建监听器。

对象 A 创建对象 B。对象 A 想知道何时调用 B.drive(),但不关心何时调用对象 C(与 B 相同的类)C.drive()。

最佳答案

是的,监听器模式的典型用途是监听特定对象。因此,在对象 B 和 C 的类中创建方法 setListener(SomeClassListener Listener) ,并在类的方法 drive 中检查是否设置了监听器,如果设置了,则从监听器运行方法。

据我了解,您的情况 A 对象实现工厂模式 - 它创建对象,因此对象 A 也应该是 Listener ,并且当它创建对象 B 时调用 b.setListener(a),创建对象C时不调用该方法。

最终,如果创建应该在对象 A 内部(应该是!)在对象 A 的类工厂方法中创建,并带有参数:

SomeClass createObj(boolean setListener){

SomeClass obj=new SomeClass();
if (setListener){

obj.setListener(this);
}

return obj;
}

因此,对象 B 的创建将如下所示:

SomeClass b=a.createObj(true);

对于对象C(不监听)

SomeClass c=a.createObj();

关于Java - 特定对象上的方法的监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39216216/

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