如何为变量创建更改侦听器?

如何为变量创建更改侦听器?,第1张

如何为变量创建更改侦听器

这是将变量隐藏在 setter / getter
对后面的众多原因之一。然后,在设置器中,您可以通知您的侦听器此变量已通过适当的方式进行了修改。正如其他人所评论的那样,没有内置的方法可以精确地完成您想要的事情,您需要自己实现它。

另外,本杰明会提出一个有趣的模式,称为Decorator模式,如果无法修改相关代码,该模式可能对您有用。您可以在Wikipedia上查找更多信息。

这个想法是围绕对象构建一个兼容的包装器。假设您所讨论的对象的类型为MyClass。

class MyClass{   publc void doFunc(){...}}class MyLoggedClass extends MyClass{    MyClass myObject;    publc void doFunc(){        //Log doFunc Call       myObject.doFunc();    }}

代替

MyClass object = new MyClass();

你会用

MyClass object = new MyLoggedClass(new MyClass());

现在,您的其余代码将按常规使用object,不同之处在于每个函数调用都会被记录或通知,等等。

正如您将在Wikipedia中看到的那样,这通常是通过相关类继承自的接口来完成的,但是在您的情况下可能无法实现。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5615479.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-15
下一篇2022-12-15

发表评论

登录后才能评论

评论列表(0条)

    保存