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.
Comment
Preview may take a few seconds to load.
Markdown Basics
Below you will find some common used markdown syntax. For a deeper dive in Markdown check out this Cheat Sheet
Bold & Italic
Italics *asterisks*
Bold **double asterisks**
Code
Inline Code
`backtick`Code Block```
Three back ticks and then enter your code blocks here.
```
Headers
# This is a Heading 1
## This is a Heading 2
### This is a Heading 3
Quotes
> type a greater than sign and start typing your quote.
Links
You can add links by adding text inside of [] and the link inside of (), like so:
Lists
To add a numbered list you can simply start with a number and a ., like so:
1. The first item in my list
For an unordered list, you can add a dash -, like so:
- The start of my list
Images
You can add images by selecting the image icon, which will upload and add an image to the editor, or you can manually add the image by adding an exclamation !, followed by the alt text inside of [], and the image URL inside of (), like so:
Dividers
To add a divider you can add three dashes or three asterisks:
--- or ***

Comments (0)