当前位置: 首页 > 知识库问答 >
问题:

ls松散耦合可以通过任何其他方式实现,而不是使用父类引用变量,通常不是在地雷代码中具体实现?

慕翰学
2023-03-14
class C {
    A a;

    C(B b) {
      a = b;
    }
}

Interface A {
}

class B implements A {
}

使用父类或接口的引用使代码更灵活地采用任何子类的对象,但它如何促进单一责任。

松散耦合是否可以通过任何其他方式而不是使用父类引用变量来实现,在任何情况下都不是专门在地雷代码中实现的?

共有1个答案

龙承颜
2023-03-14

这感觉像在家一样,但这是我的答案。

代码是紧密耦合的,因为C的构造函数依赖于B而不是接口A。如果希望将CB解耦,则可以接受A的实例,而不是B

松散耦合代码

class C {
    A a;

    C(A a) {
      this.a = a;
    }
}
 类似资料:
  • 我的配置是:Wildfly8.2.0,Weld 是否可以在CDI中注入bean而不是在其接口中注入?

  • 我计划开发一个基于web的聊天应用程序,它接收ReSTful请求,将它们转换为XMPP,并将它们发送到XMPP服务器。 在这种基于聊天的应用程序中使用WebSocket看起来很有希望,因为事件(或响应)可以异步传递。但是,如果我使用WebSocket作为从浏览器传输请求的底层协议,这仍然可以被视为ReSTful设计吗?如果是的话,URI、动词(GET、POST…)是怎样的,websocket消息中

  • 我有这个代码 但是由于上述代码的精度损失,我不得不通过为lat1、lon1、lat2、lon2提供BigDecimal而不是Double来更改它。但问题是如果我使用BigDecimal,我如何实现所有这些操作? 请指导我实现这一点 谢谢:)

  • 我试图理解其他人的代码,我在一个关于如何创建构建器的实现中看到了一些相当奇怪的东西。这个设计好吗?

  • 问题内容: 我在说Java语言。 变量“ this”在类内部使用时,指的是该类的当前实例,这意味着您不能在静态方法中使用“ this”。 但是,“超”在类内部使用时,是指该类的超类,而不是超类的实例,这意味着您可以在静态方法中使用“超”。但是事实证明你做不到。 一个可能的解释是说“超级”也指的是超类的一个实例,但我不知道为什么它应该… 问题答案: 这是JLS中有关关键字的部分: http://do

  • 本文向大家介绍Android通用索引栏实现代码,包括了Android通用索引栏实现代码的使用技巧和注意事项,需要的朋友参考一下 偶尔看到之前写过的代码,感觉好多东西几乎在很多项目中都要用到,虽然每个项目的需求和设计都不同,不过实现的效果都是一样的,可能只是数据格式和一些颜色等的细微差距.但是有的时候因为一个小改变,就要去重复的修改代码,麻烦不说,也容易导致新的问题和BUG. 就拿忽然想到的索引栏来