gpt4 book ai didi

Java 继承和包装

转载 作者:行者123 更新时间:2023-12-01 15:19:02 24 4
gpt4 key购买 nike

我有一个生成的对象,我想要:

  1. 保留现有功能,无需注入(inject)构造函数并重写每个方法来调用 injectedObject.sameMethod()
  2. 向生成的对象添加附加功能,而不修改生成的对象。

添加附加功能。

例如:

public class GeneratedObject {
public String getThis() { ... }
public String getThat() { ... }
}

public interface ObjectWrapper {
String doThisWithThat();
}

public class ObjectWrapperImpl extends GeneratedObject implements ObjectWrapper {
String doThisWithThat() { ... }
}

但是,不允许向下转型,在不重写一堆冗余代码只是为了包装对象的情况下,正确的实现是什么?

最佳答案

我认为decorator pattern可能对您有帮助:“装饰器模式可用于在运行时扩展(装饰)某个对象的功能,独立于同一类的其他实例”

关于Java 继承和包装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11234451/

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