Java Cohesion ditakrifkan sebagai digunakan untuk melaksanakan tugas khusus (tugas tunggal) dan bukannya berbilang tugas dengan satu kelas java. Jika kelas mencipta dengan perpaduan yang tinggi maka ia dikatakan menyasarkan kepada satu tujuan tertentu, dan bukannya melaksanakan tugas yang berbeza pada satu masa.
IKLAN Kursus Popular dalam kategori ini JAVA MASTERY - Pengkhususan | 78 Siri Kursus | 15 Ujian Olok-olokMulakan Kursus Pembangunan Perisian Percuma Anda
Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain
Contoh Masa Nyata: Mari kita andaikan kita perlu mengetahui faktorial bagi n nombor dan memaparkan output kepada pengguna. Jika kita mengambil satu kelas untuk mencari faktorial dan memaparkan output. Jika pelanggan sentiasa mahu menukar output paparan dalam gaya yang berbeza maka kita perlu menukar kelas yang sama berulang kali tanpa mengubah logik faktorial. Ini adalah amalan buruk dalam pembangunan, jadi ambil kelas untuk logik faktorial dan kelas lain untuk logik output paparan maka sekarang kita hanya boleh menukar kelas logik paparan sentiasa. Ia dikatakan sebagai amalan kohesi yang tinggi.
Terdapat 2 jenis Cohesion
Apabila kelas direka bentuk untuk melaksanakan banyak tugas yang berbeza dan bukannya memfokuskan pada mana-mana tugas tertentu maka kelas itu dipanggil "Kelas Kohesif Rendah". Pendekatan semacam ini ialah pendekatan reka bentuk pengaturcaraan yang buruk. Ia memerlukan banyak pengubahsuaian untuk perubahan kecil.
Sintaks:
class Operations { //code for multiplication //code for division //code for addition //code for subtraction . . . }
Penjelasan: Semua tugasan dilakukan dalam kelas yang sama supaya jika berlaku sebarang pengubahsuaian, kami telah menukar hampir keseluruhan kod.
Apabila kelas direka bentuk untuk melaksanakan apa-apa tugas tertentu maka kelas itu dipanggil sebagai "kelas Kohesif Tinggi". Pendekatan seperti ini adalah pendekatan reka bentuk pengaturcaraan yang baik. Ia boleh diselenggara dengan mudah dan kurang boleh diubah suai
Sintaks:
class Multiplication { //code } class Division { //code } class Addition { //code } class Multiplication { //code }
Penjelasan: Mudah diselenggara dan kurang boleh diubah suai kerana setiap kelas mempunyai tugas khusus mereka sendiri.
Kepaduan berfungsi berdasarkan menyediakan logik khusus untuk setiap kelas memberikan kebolehselenggaraan yang lebih baik dan kebolehbacaan yang lebih baik.
Sintaks:
class Task { //logic for task } class Display { //display task here }
Berikut adalah contoh yang disebut di bawah:
Kod:
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(); } }
Output:
Kod:
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(); } }
Output:
Kod:
pakej 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(); } }
Output:
Kod:
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(); } }
Output:
Java Cohesion digunakan untuk mencapai kebolehselenggaraan yang lebih baik dan kod yang kurang boleh diubah suai dengan melaksanakan sebarang tugas khusus daripada setiap kelas. Ini dikatakan sebagai pengaturcaraan reka bentuk kohesi tinggi. Aplikasi masa nyata kesepaduan tinggi adalah lebih baik.
Atas ialah kandungan terperinci Perpaduan di Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!