假设我们有一个对象 (A),它应该执行另一个对象 (B) 的方法,该方法不在对象 (A) 本身的范围内,也不在其成员的范围内。
克服这个问题我可能采用以下方法之一:
在可能使用它的任何对象中存储对该对象的引用,可能导致内存泄漏
为我可能需要使用的任何对象创建吸气剂并像那样使用它们(这可能不是最佳实践)。
anObject.getABC().getDEF().getHIG().DoSomething();
将一些对象定义为单一音调,这可能是一个很好的解决方案,但每当我使用自由覆盖它可能会很痛苦,它的子类不会与覆盖的子类一起使用。
静态成员,可能是最糟糕的方式。
我的问题:在维护面向对象代码的同时,最好的方法是什么,应该考虑什么?
(这些问题是指一般的 OOP,但我更喜欢 JAVA 中的代码示例)
例子:
用户单击菜单上的某些内容,这应该会影响与菜单无关的内容或与其密切相关的内容。对于
具有应释放其内存的消耗方法的类应访问可能包含但不直接相关的对象。例如,在画布上绘制的汽车对象应从该对象和该数组中删除自己保存与 GUI 线程没有任何关系的汽车列表。