Understanding OOP Concepts: Coupling
Today we’ll try to get the idea of Coupling. Let’s get started:
Table of Contents
Coupling
Coupling is a situation where an object can be used by another object. It can also be termed as collaboration.
There are two types of coupling:
- Tight Coupling
- Loose Coupling
Tight Coupling
We can say tight coupling is when a group of classes are highly dependent on one another. It’s a bad programming design. Let’s see an example:
class Volume {
public static void main(String[] args) {
Box box = new Box(5, 10, 5);
System.out.println(box.volume);
}
}
class Box {
public int volume;
Box(int length, int width, int height) {
this.volume = length * width * height;
}
}
In the above example, Volume & Box classes are independent. But there is a strong inter-dependency between the classes. If there is any change in Box class then they reflect in the result of class Volume.
Loose Coupling
We can say loose coupling is when an object gets the object to be used from external sources. It’s a good programming design. Let’s see an example:
class Volume {
public static void main(String[] args) {
Box box = new Box(5, 10, 5);
System.out.println(box.getVolume());
}
}
final class Box {
private int volume;
Box(int length, int width, int height) {
this.volume = length * width * height;
}
public int getVolume() {
return volume;
}
}
In the above example, if we change anything in the Box class then we don’t have to change anything in Volume class. There is no dependency between the classes.
Md Obydullah
Software Engineer | Ethical Hacker & Cybersecurity...
Md Obydullah is a software engineer and full stack developer specialist at Laravel, Django, Vue.js, Node.js, Android, Linux Server, and Ethichal Hacking.