1.java中如果类之间通过彼此的 API 来交互,那么它们是松耦合的“鼻涕”的说法是主流的解释,往往会让人很费解 。那么下面是我对这段话的理解 。希望能解释的更加通俗一点 。
首先让我们来看一下什么是“耦合”,在电气领域中“耦合”是指两个电路或一个电路中的两个部分的交链,使能量可以传递 。在软件中是指两个相对独立的模块通过某种接口可以彼此通讯 。
第二我们来看看什么是API,全称是“应用程序接口”(Application Programming Interface),不仅仅是我们经常使用的Java中的Interface,它可以有很多中形式 。
好,弄清上面两个概念后我们来看看一个紧密耦合的场景 。当在A类中调用B类的方法B.getName()时,我们可以说A依赖B,因为如果B类没有了,A类也无法正常使用 。
这种紧密耦合使得A和B成为了一个无法分隔的整体 。如果A和B是同一逻辑模块我们可以称这个模块是“高内聚”的(其组成部分相互紧密依赖) 。
然而当A和B是两个不同模块那么我们很不喜欢看到这种紧密依赖关系,那么怎么办呢?现在我们提出了API的概念 。我们可以建立一个Interface “IB” 。然后使B类实现IB的getName方法 。在A类中使用IB.getName() 。可以看到A类和B类的依赖关系不存在了,而都对IB产生了依赖 。如果在今后的某个时间我们将B类替换为B',A类也可以正常运行 。这时我们就可以称A类和B类之间是“松散耦合” 。
上面的的例子里IB是一个Java的Interface,它也可以是一个WebServices或者HTTP,甚至是一套文件格式标准或数据表结构 。
不知道我是否把问题说明白了?希望能对你有帮助 。
2.耦合是什么意思java耦合:简单的说,
举例:有一个类A其中有一个方法是用类B的方法做一些逻辑,或者A中有一个成员变量是类B的类型,也就是A的实现依赖于B,这样就是两个类互相耦合;再大一点,模块之间,系统之间都可以存在这样的关系 。
耦合相反的概念就是内聚,内聚就是自己独立实现某一功能的能力;
接着上面的例子,假设类A没有依赖其他类(当然工具类什么的不算哦,指的你开发的其它类)实现了一个功能,那类A对于这个功能就是高内聚的..
开发中讲究的是高内聚,低耦合;为啥?如果类A依赖类B,那如果B有一天改变了,那么A中起初设想的功能也跟着变了,导致A,B都要你去修改,工程量大了你就知道这是多么痛苦的一件事情了..
3.在JAVA编程中什么叫耦合
耦合性是编程中的一个判断代码模块构成质量的属性,不影响已有功能,但影响未来拓展,与之对应的是内聚性 。
耦合性:也称块间联系 。指软件系统结构中各模块间相互联系紧密程度的一种度量 。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差 。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息 。
内聚性:又称块内联系 。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量 。若一个模块内各元素(语名之间、程序段之间)联系的越紧密,则它的内聚性就越高 。
因此,现代程序讲究高内聚低耦合,即将功能内聚在同一模块,模块与模块间尽可能独立,互相依赖低 。没有绝对没有耦合的模块组,只有尽量降低互相之间的影响 。使模块越独立越好 。
JAVA简介:
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征 。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。
- 传奇两个字繁体字怎么写
- 1加到1000的js怎么写
- 鹿晗两个字用韩语怎么写
- java工作总结怎么写
- javaeeb简历中项目业绩怎么写
- 浪子繁体字怎么写
- java访问html文件路径怎么写
- 曾字老写怎么写
- 两个证人的证词怎么写
- 调查问卷js怎么写