有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java将对象作为参数传递是否会产生与将其存储在字段中相同级别的耦合?

class ConcreteObserver implements Observer {
    String text;

    public void actualize(Subject subject) {
        this.text = subject.getState();
    }
}

换句话说,上面的代码是否使我的SubjectObserver耦合的方式与我这样做的方式相同

class ConcreteObserver implements Observer {
    String text;
    Subject subject;

    public void actualize() {
        this.text = subject.getState();
    }
}

共 (1) 个答案

  1. # 1 楼答案

    以下所有关系都算作耦合:

    • 联想
    • 聚集
    • 依赖关系
    • 概括

    所以在这两种情况下ConcreteObserver都与Subject耦合。 (关于问题SubjectObserver的耦合,没有什么可说的)

    第二种情况将父ObserverSubject分离, 但是IMO显式依赖比用隐式伪造范围要好