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

在“类内聚”或“类内聚”代码度量的上下文中,“抽象”是什么意思?

司徒俊雄
2023-03-14

我在这个网站上讨论Eclipse中的代码度量时遇到了这个短语,特别是在讨论“缺乏内聚”的概念时:

内聚是面向对象编程中的一个重要概念。它指示类是表示单个抽象还是表示多个抽象。其思想是,如果一个类表示多个抽象,那么应该将其重构为多个类,每个类表示一个抽象。

在这种情况下,“单一抽象”是什么?

从封装和抽象的区别中,我得到抽象通常只是向用户展示必要的细节(通过使用接口和抽象类)。这里:什么是抽象?,我再次得到抽象是隐藏实现。

您将如何将这些想法应用到那篇文章中使用的单个抽象术语中?

共有1个答案

张玺
2023-03-14

在这个特定的上下文中,在你引用的网站中定义(内聚力),“单一抽象”意味着一个概念。因此,它与单一责任原则密切相关——一个班级应该处理“一件事”。如果一个类处理不止一件事,它通常会有许多不同的方法和变量,这些方法和变量不一定属于一起,因此它的内聚力会很低。

这不是这个词的常见用法,从我的经验来看,它更有可能用于抽象层次的推理,就像你链接的其他SO问题一样。它们涉及到一个不同的规则,即单层抽象原则。

 类似资料:
  • 我在理解语句。我已经在谷歌上搜索并阅读了很多关于这方面的内容,但仍然觉得很难理解。 据我所知,高内聚意味着我们应该有专门的类来执行特定的功能。希望这是正确的?就像信用卡验证类一样,它专门用于验证信用卡。 还不明白低耦合是什么意思?

  • 本文向大家介绍什么是聚类分析?相关面试题,主要包含被问及什么是聚类分析?时的应答技巧和注意事项,需要的朋友参考一下 聚类分析(cluster analysis)是一组将研究对象分为相对同质的群组(clusters)的统计分析技术。 聚类分析也叫分类分析(classification analysis)或数值分类(numerical taxonomy)。聚类与分类的不同在于,聚类所要求划分的类是未知

  • 问题内容: 在Linux内核源代码中,我找到了以下功能: 在这里我不明白这意味着什么。 问题答案:

  • 1 谱聚类算法的原理   在分析快速迭代聚类之前,我们先来了解一下谱聚类算法。谱聚类算法是建立在谱图理论的基础上的算法,与传统的聚类算法相比,它能在任意形状的样本空间上聚类且能够收敛到全局最优解。 谱聚类算法的主要思想是将聚类问题转换为无向图的划分问题。 首先,数据点被看做一个图的顶点v,两数据的相似度看做图的边,边的集合由$E=A_{ij}$表示,由此构造样本数据集的相似度矩阵A,并求出拉普拉斯

  • 问题内容: 从这里 我没有得到它的含义以及为什么使用它。我试图搜索它,但不了解其含义。 问题答案: 它使动态加载的模块可以访问符号(前提是所述模块添加了声明)。

  • 问题内容: 什么是Java中的“抽象类”? 问题答案: 抽象类是无法实例化的类。通过创建可以实例化的继承子类来使用抽象类。抽象类为继承的子类做一些事情: 定义继承子类可以使用的方法。 定义继承子类必须实现的抽象方法。 提供一个公共接口,该接口允许子类与所有其他子类互换。 这是一个例子: 请注意,“ abstractMethod()”没有任何方法主体。因此,你不能执行以下操作: 没有实现的方法!因此