首頁 > Java > java教程 > 主體

Java 中的內聚力

PHPz
發布: 2024-08-30 15:57:06
原創
1098 人瀏覽過

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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板