Die Java-Kohäsion wird so definiert, dass sie zur Ausführung spezialisierter Aufgaben (einzelne Aufgabe) anstelle mehrerer Aufgaben mit einer einzigen Java-Klasse verwendet wird. Wenn eine Klasse mit hoher Kohäsion kreiert, dann soll sie auf einen einzigen spezifischen Zweck ausgerichtet sein, anstatt verschiedene Aufgaben gleichzeitig auszuführen.
WERBUNG Beliebter Kurs in dieser Kategorie JAVA MASTERY - Spezialisierung | 78 Kursreihe | 15 ProbetestsStarten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests und andere
Echtzeitbeispiel: Nehmen wir an, wir müssen die Fakultät von n Zahlen ermitteln und die Ausgabe dem Benutzer anzeigen. Wenn wir eine einzelne Klasse zum Finden von Fakultäten und zum Anzeigen der Ausgabe verwenden. Wenn der Client die Anzeige der Ausgabe immer in verschiedenen Stilen ändern möchte, müssen wir dieselbe Klasse immer wieder ändern, ohne die faktorielle Logik zu ändern. Dies ist eine schlechte Praxis in der Entwicklung. Nehmen Sie also eine Klasse für die faktorielle Logik und eine andere Klasse für die Anzeigeausgabelogik, dann können wir jetzt nur noch die Anzeigelogikklasse immer ändern. Es soll eine Praxis mit hohem Zusammenhalt sein.
Es gibt 2 Arten von Kohäsionen
Wenn der Unterricht darauf ausgelegt ist, viele verschiedene Aufgaben auszuführen, anstatt sich auf eine bestimmte Aufgabe zu konzentrieren, wird dieser Kurs „Low Cohesive-Kurs“ genannt. Diese Art von Ansatz ist der Ansatz des schlechten Programmierdesigns. Es erforderte viele Modifikationen für kleine Änderungen.
Syntax:
class Operations { //code for multiplication //code for division //code for addition //code for subtraction . . . }
Erklärung: Alle Aufgaben werden innerhalb derselben Klasse ausgeführt, sodass wir bei Änderungen fast den gesamten Code ändern müssen.
Wenn die Klasse für die Ausführung einer bestimmten Aufgabe konzipiert ist, wird diese Klasse als „High Cohesive-Klasse“ bezeichnet. Diese Art von Ansatz ist ein guter Ansatz für das Programmierdesign. Es ist leicht zu warten und weniger veränderbar
Syntax:
class Multiplication { //code } class Division { //code } class Addition { //code } class Multiplication { //code }
Erklärung: Einfach zu warten und weniger veränderbar, da jede Klasse ihre eigene spezifische Aufgabe hat.
Kohäsion basiert auf der Bereitstellung spezifischer Logik für jede Klasse und sorgt für eine bessere Wartbarkeit und bessere Lesbarkeit.
Syntax:
class Task { //logic for task } class Display { //display task here }
Hier sind die unten aufgeführten Beispiele:
Code:
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(); } }
Ausgabe:
Code:
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(); } }
Ausgabe:
Code:
Paket 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(); } }
Ausgabe:
Code:
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(); } }
Ausgabe:
Java-Kohäsion wird verwendet, um eine bessere Wartbarkeit und weniger modifizierbaren Code zu erreichen, indem eine bestimmte Aufgabe aus jeder Klasse ausgeführt wird. Dies wird als Designprogrammierung mit hoher Kohäsion bezeichnet. Echtzeitanwendungen mit hoher Kohäsion sind vorzuziehen.
Das obige ist der detaillierte Inhalt vonZusammenhalt in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!