Skip to main content

Encapsulation(what is the need?)

Let's try to generate the need of encapsulation.

For an instance, When money is in the Bank, It is secured. Bank takes responsibility and provides security for our money.
But If we have withdrawn that and carried in a bag, Now It can be snatched. Same happens, when we create an application. The database takes responsibility and provides security to our data. But when our application access data from the database and stores in the variable, Now It can be theft.

Data should not travel openly. Must have a container to wrap that same as In the real world(from this point you should know that how a real-world object will be defined in a program),
If I am an object of the Human class, with variables

  • name: "foo"
  • height: 5.8
  • color: "fair"

Nobody can know my name by just looking at me without asking. So now name became secured. To wrapping up data like this in a class is called Encapsulation.

In code:
class Human{
    var name = "foo";
    var height = 5.8;
    var color = "fair"

    public static void main(String[] args){

        Human object1 = new Human();
    }
}
In the code you must do like object1.name then you'll get the name.

Even data became secured from other objects also. For an instance, If  I will workout, I'll get the Muscular body, not my neighbor. In the same way, If one object changed it's variable's value, the variable will not be changed for any other objects except this. i.e variables and functions of one object cannot be accessed by other objects, and it just because of Encapsulation.

for example(in code):
class Human{
    var name;
    var height;
    var color;
    var weight;

    public Human(String name, float height, String color, float weight){

        name = name;
        height = height;
        color = color;
        weight = weight;
    }

    public void workout(){

        weight = weight + 5;
    }

    public static void main(String[] args){

        Human object1 = new Human("foo", 5.7, "fair", 70);
        Human object2 = new Human("bar", 5.9, "fair", 70);
        
        object1.workout();
        // object1 did workout, object2 not
        
        System.out.println(object1.weight) // 75
        System.out.println(object2.weight) // 70
    }
}


Comments

suggestions

Popular posts from this blog

Why "F" and "L" suffix | (10.0F, 10L)

Let us take it this way, We will create their needs. So we will get why they are needed. Try to guess, which functions will be executed in the following program: public class MyClass {     public static void main(String args[]) {         MyClass obj = new MyClass();         obj.fun1(10);     }     void fun1(byte val){         System.out.println(val);     }     void fun1(int val){         System.out.println(val);     }     void fun1(float val){         System.out.println(val);     }     void fun1(long val){         System.out.println(val);     }     } It seems like every method is capable to run this program because 10 is still literal because It has no data type. Before Java, In previous technologies, this scenario gave an ambiguity...

Promises and Async-await in depth : Asynchronous Programming in Javascript

Promises and Asynchronous Programming One of the most powerful aspects of JavaScript is how easily it handles asynchronous programming. As a language created for the Web, JavaScript needed to be able to respond to asynchronous user interactions such as clicks and key presses from the beginning. Node.js further popularized asynchronous programming in JavaScript by using callbacks as an alternative to events. As more and more programs started using asynchronous programming, events and callbacks were no longer powerful enough to support everything developers wanted to do.  Promises  are the solution to this problem. Promises are another option for asynchronous programming, and they work like futures and deferreds do in other languages. A promise specifies some code to be executed later (as with events and callbacks) and also explicitly indicates whether the code succeeded or failed at its job. You can chain promises together based on success or failure in ways that make your code...

ChatGPT aur Google me kya difference hai?

  ChatGPT aur Google dono alag-alag hain. ChatGPT ek language model hai jo ki OpenAI dwara train kiya gaya hai. Iski madad se hum natural language text ko generate, understand, aur respond kar sakte hain. Google, on the other hand, ek search engine hai jo ki internet par available information ko search karne ki capability rakhta hai. ChatGPT language model ke through hum natural language text ko generate kar sakte hain, jese ki poetry, stories, articles and so on. Iski madad se hum human-like text ko generate kar sakte hain. Google, on the other hand, internet par available information ko search karta hai. Iske through hum kisi bhi topic ke bare me jankari le sakte hain. Dono alag hain, lekin kuch similarities bhi hain. Dono natural language text ke sath work karte hain. ChatGPT natural language text generate karne ke liye use kiya jata hai, aur Google natural language text ko search karne ke liye use kiya jata hai. ChatGPT ke through hum natural language text ko generate kar sakte...