Home > Java > javaTutorial > body text

Cohesion in Java

PHPz
Release: 2024-08-30 15:57:06
Original
1026 people have browsed it

The Java Cohesion is defined as used to perform the specialized tasks (single task) instead of multiple tasks with a single java class. If a class is creating with high cohesion then it is said to targeted towards a single specific purpose, rather than performing different tasks at a time.

ADVERTISEMENT Popular Course in this category JAVA MASTERY - Specialization | 78 Course Series | 15 Mock Tests

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

Real-Time Example: Let’s assume we have to find out factorial of n numbers and display the output to the user. If we take a single class for finding factorial and displaying output. If the client always wants to change displaying output in different styles then we have to change the same class again and again without modifying factorial logic. This is bad practice in development, so take a class for factorial logic and another class for display output logic then now we can only change the display logic class always. It is said to high cohesion practice.

Types of Cohesion

There are 2 types of Cohesions

Cohesion in Java

1. Low Cohesion

When class is designed to perform many different tasks instead of focusing on any specific task then that class is called “Low Cohesive class”. This kind of approach is the bad programming design approach. It required a lot of modifications for small change.

Syntax:

class Operations
{
//code for multiplication
//code for division
//code for addition
//code for subtraction
.
.
.
}
Copy after login

Explanation: All the task are performed within the same class so that if any modification occurs we have change almost entire code.

2. High Cohesion

When class is designed to perform any specific task then that class is called as “High Cohesive class”. This kind of approach is good programming design approach. It can easily maintain and less modifiable

Syntax:

class Multiplication
{
//code
}
class Division
{
//code
}
class Addition
{
//code
}
class Multiplication
{
//code
}
Copy after login

Explanation: Easy to maintain and less modifiable as each class has their own specific task.

How Does Cohesion Work in Java?

Cohesion works based on providing specific logic for each class provide better maintainability and better readability.

Syntax:

class Task
{
//logic for task
}
class Display
{
//display task here
}
Copy after login

Examples of Cohesion in Java

Here are the examples mention below:

Example #1 – Multiplication Cohesion

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();
}
}
Copy after login

 Output:

Cohesion in Java

Example #2 – Factorial Cohesion

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();
}
}
Copy after login

Output:

Cohesion in Java

Example #3 – Perfect number Cohesion

Code:

package 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();
}
}
Copy after login

Output:

Cohesion in Java

Example #4 – Palindrome number Cohesion

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();
}
}
Copy after login

Output:

Cohesion in Java

Conclusion

Java Cohesion is used to achieve better maintainability and less modifiable code by perform any specific task from each class. This is said to be High cohesion design programming. Real time applications high cohesion will be preferable.

The above is the detailed content of Cohesion in Java. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!