首页 > Java > java教程 > 正文

Java 中的内聚力

PHPz
发布: 2024-08-30 15:57:06
原创
1059 人浏览过

Java Cohesion 被定义为用于执行专门的任务(单个任务),而不是使用单个 java 类执行多个任务。如果一个类的创建具有高内聚力,那么据说它是针对一个特定目的,而不是一次执行不同的任务。

广告 该类别中的热门课程 JAVA 掌握 - 专业化 | 78 课程系列 | 15 次模拟测试

开始您的免费软件开发课程

网络开发、编程语言、软件测试及其他

实时示例:假设我们必须找出 n 个数字的阶乘并将输出显示给用户。如果我们采用单个类来查找阶乘并显示输出。如果客户端总是想要更改不同样式的显示输出,那么我们必须一次又一次地更改同一个类,而不修改阶乘逻辑。这在开发中是不好的做法,因此为阶乘逻辑使用一个类,为显示输出逻辑使用另一个类,那么现在我们只能始终更改显示逻辑类。据说是高凝聚力的练习。

凝聚力的类型

有 2 种类型的内聚力

Java 中的内聚力

1.低内聚力

当类被设计为执行许多不同的任务而不是专注于任何特定任务时,该类被称为“低内聚类”。这种做法是不好的编程设计方法。小改动就需要大量修改。

语法:

class Operations
{
//code for multiplication
//code for division
//code for addition
//code for subtraction
.
.
.
}
登录后复制

说明:所有任务都在同一个类中执行,因此如果发生任何修改,我们几乎都会更改整个代码。

2.高内聚力

当类被设计为执行任何特定任务时,该类被称为“高内聚类”。这种做法是很好的编程设计方法。它易于维护且不易修改

语法:

class Multiplication
{
//code
}
class Division
{
//code
}
class Addition
{
//code
}
class Multiplication
{
//code
}
登录后复制

说明:易于维护且不易修改,因为每个类都有自己的特定任务。

Java 中内聚力如何工作?

内聚的工作原理是为每个类提供特定的逻辑,提供更好的可维护性和更好的可读性。

语法:

class Task
{
//logic for task
}
class Display
{
//display task here
}
登录后复制

Java 中内聚的示例

以下是下面提到的示例:

示例 #1 – 乘法内聚

代码:

package com.cohesion;
import java.util.Scanner;
//Multiplication logic class
class Multiplication {
// method for providing logic for multiplication of 2 numbers
public static double getMultiplication(double x, double y) {
// return the multiplcation output
return x * y;
}
}
// Output display class
public class MultiplicationCohesion {
public static void main(String args[]) {
// scanner class for ask user input
Scanner scanner = new Scanner(System.in);
System.out.println("Enter any two numbers=>");
// ask the user 2 numbers
double firstNumber = scanner.nextDouble();
double secondNumber = scanner.nextDouble();
// display the multiplication output
System.out.println("Muliplication of " + firstNumber + " and " + secondNumber + " is "
+ Multiplication.getMultiplication(firstNumber, secondNumber));
scanner.close();
}
}
登录后复制

 输出:

Java 中的内聚力

示例 #2 – 阶乘内聚

代码:

package com.cohesion;
import java.util.Scanner;
//class for factorial
class Factorial {
// method for factorial logic
public static int getFactorial(int inputNumber) {
int factorial = 1;
// calculating the factorial
for (int temp = 1; temp <= inputNumber; temp++) {
factorial = factorial * temp;
}
// returning the factorial
return factorial;
}
}
public class FactorialCohesion {
public static void main(String args[]) {
// scanner class for ask user input
Scanner scanner = new Scanner(System.in);
System.out.println("Enter any number=>");
// ask the user 1 number
int number = scanner.nextInt();
// display the factorial output
System.out.println("Factorial of " + number + " is " + Factorial.getFactorial(number));
scanner.close();
}
}
登录后复制

输出:

Java 中的内聚力

示例 #3 – 完美数内聚

代码:

包 com.cohesion;

import java.util.Scanner;
//class for perfect number
class PerfectNumber {
static int sum = 0;
// method for perfect number logic
public static int getPerfectNumber(int inputNumber) {
for (int i = 1; i < inputNumber; i++) {
if (inputNumber % i == 0) {
sum = sum + i;
}
}
return sum;
}
}
public class PerfectNumberCohesion {
public static void main(String args[]) {
// scanner class for ask user input
Scanner scanner = new Scanner(System.in);
System.out.println("Enter any number=>");
// ask the user 1 number
int number = scanner.nextInt();
int output = PerfectNumber.getPerfectNumber(number);
// checking sum and entered number
if (output == number) {
// display the perfect number output
System.out.println(number + " is a Perfect Number");
} else {
// display the perfect number output
System.out.println(number + " is not a Perfect Number");
}
scanner.close();
}
}
登录后复制

输出:

Java 中的内聚力

示例 #4 – 回文数内聚

代码:

package com.cohesion;
import java.util.Scanner;
//class for polindrome number
class Polindrome {
static int sum = 0;
// method for polindrome number logic
public static int getPolindromeNumber(int inputNumber) {
int r, sum = 0, temp;
temp = inputNumber;
while (inputNumber > 0) {
r = inputNumber % 10; // getting remainder
sum = (sum * 10) + r;
inputNumber = inputNumber / 10;
}
return sum;
}
}
public class PolindromeCohesion {
public static void main(String args[]) {
// scanner class for ask user input
Scanner scanner = new Scanner(System.in);
System.out.println("Enter any number=>");
// ask the user 1 number
int number = scanner.nextInt();
int output = Polindrome.getPolindromeNumber(number);
// checking sum and entered number
if (output == number) {
// display the palindrome output
System.out.println(number + " is a Polindrome Number");
} else {
// display the palindrome output
System.out.println(number + " is not a Polindrome Number");
}
scanner.close();
}
}
登录后复制

输出:

Java 中的内聚力

结论

Java Cohesion 用于通过执行每个类的任何特定任务来实现更好的可维护性和更少的可修改代码。这就是所谓的高内聚设计编程。实时应用高内聚者优先。

以上是Java 中的内聚力的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!