Skip to main content

Command Palette

Search for a command to run...

Understanding Object-Oriented Programming in JavaScript

JavaScript mein Object-Oriented Programming (OOP) ke fundamentals seekhein. Classes, objects, constructors, aur encapsulation ko real-world analogies ke saath simple bhasha mein samjhein.

Updated
7 min read
Understanding Object-Oriented Programming in JavaScript
S

I am MERN STACK Web Developer.I am Student of BCA.

1. Introduction: Code ki Complexity ko Manage Karna

Jab aap pehli baar coding seekhna shuru karte hain, toh chhote-mote scripts likhna bahut easy hota hai. Aap kuch functions banate hain, variables define karte hain, aur sab kuch mast chalta hai.

Lekin, sochiye agar aap Facebook ya Amazon jaisi koi badi application bana rahe hain. Wahan millions of users, products, aur comments hote hain. Agar aap sirf functions ki lambi list likhte jayenge, toh aapka code dheere-dheere ek "spaghetti mess" ban jayega—jise padhna, fix karna, aur bada karna namumkin ho jayega.

Isi problem ko solve karne ke liye, developers Object-Oriented Programming (OOP) ka use karte hain. OOP programming ka ek style (ya "paradigm") hai jo humein apne code ko reusable pieces mein organize karne mein madad karta hai. Yeh real-world cheezon ko represent karta hai. Yeh humein related data aur functions ko ek saath group karne ki permission deta hai taki growth ke saath-saath hamara code clean aur manageable rahe.


2. Object-Oriented Programming (OOP) Kya Hai?

Simple shabdon mein kahein toh, OOP objects ke baare mein hai.

"Logic" aur "flow" ke baare mein sochne ke bajaye, aap "cheezon" (entities) ke baare mein sochte hain. Example ke liye:

  • Ek game mein, aapke paas Players, Enemies, aur Items ho sakte hain.

  • Ek school system mein, aapke paas Students, Teachers, aur Courses ho sakte hain.

  • Ek car app mein, aapke paas Cars, Drivers, aur Routes ho sakte hain.

Ek Object mein do cheezein hoti hain:

  1. Properties (Data): Object ke paas kya hai. (e.g., Ek car ka color, model, aur speed).

  2. Methods (Actions): Object kya kar sakta hai. (e.g., Ek car start ho sakti hai, accelerate kar sakti hai, aur brake maar sakti hai).


3. The Blueprint Analogy: Ek Car Banana

OOP ko samajhne ka sabse popular tareeka hai Blueprint aur Object.

Imagine kijiye aap ek car manufacturer hain. Aap bas metal ke tukdon ko randomly weld karna shuru nahi kar dete. Sabse pehle, ek engineer ek Blueprint banata hai. Yeh blueprint define karta hai ki:

  • Wheels kahan lagenge.

  • Kitne doors honge.

  • Interior ka color kya hoga.

Blueprint khud ek car nahi hai—aap ise chala nahi sakte! Lekin aap us ek blueprint ka use karke 1,000 ek jaisi cars bana sakte hain.

Programming mein:

  • Blueprint ko Class kehte hain.

  • Actual Cars ko Objects (ya Instances) kehte hain.


4. Class Kya Hai? (The Template)

JavaScript mein, Class ek template hoti hai jise hum objects create karne ke liye use karte hain. Yeh hamare "cheez" ka structure define karti hai.

Class Example:

class Car {
  // Hum yahan blueprint define karte hain
}

By convention, JavaScript mein class names Capital Letter se shuru hote hain (e.g., Car, Person, Student). Isse humein classes ko regular variables aur functions se alag pehchanne mein madad milti hai.


5. The new Keyword: Objects Create Karna

Jab aapke paas blueprint (Class) aa jaye, toh aap actual car kaise banayeinge? Aap new keyword ka use karte hain.

let myCar = new Car();
let yourCar = new Car();

Ab, myCar aur yourCar do alag-alag objects hain jo usi ek Car blueprint se bane hain. Unka structure same hai lekin code mein unki apni alag life hai.


6. The Constructor: "Auto-Start" Method

Jab aap car banate hain, toh shayad aap shuruat mein hi uska color aur model decide karna chahte hain. JavaScript classes mein, hamare paas ek special method hota hai jise constructor kehte hain.

constructor tab automatically chalta hai jab aap new keyword ka use karke ek naya object create karte hain. Iska kaam initial values set karna hota hai.

class Person {
  constructor(name, age) {
    this.name = name; // 'this' us object ko refer karta hai jo create ho raha hai
    this.age = age;
  }
}

// Initial data ke saath objects create karna
let person1 = new Person("Rahul", 25);
let person2 = new Person("Anita", 30);

console.log(person1.name); // Rahul
console.log(person2.age);  // 30

7. Methods: Behavior Define Karna

Ek blueprint sirf is baare mein nahi hota ki koi cheez kya hai; yeh is baare mein bhi hota hai ki woh kya karti hai. Hum class ke andar functions add kar sakte hain jo object ka behavior define karte hain. Inhe Methods kehte hain.

class Person {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }

  // Ek method jo person ko introduce karne ki permission deta hai
  introduce() {
    console.log("Hello, mera naam " + this.name + " hai aur main " + this.age + " saal ka hoon.");
  }
}

let person1 = new Person("Rahul", 25);
person1.introduce(); // Output: Hello, mera naam Rahul hai aur main 25 saal ka hoon.

8. Encapsulation Ka Secret

Encapsulation ek bada shabd hai lekin iska idea bahut simple hai: Sab kuch ek box mein rakho.

OOP mein, hum data (properties) aur actions (methods) ko ek saath ek single "package" mein group karte hain jise object kehte hain.

  • userName variable aur printName() function ko alag-alag rakhne ke bajaye, dono ko Person object ke andar safely pack kar diya jata hai.

Isse aapke program ke dusre parts galti se aapka data change nahi kar paate aur code debug karna bahut easy ho jata hai. Agar person ke introduction mein koi bug hai, toh aapko pata hai ki kaunsi file aur kaunsi class dekhni hai!


9. Why Use OOP? (The Benefits)

Professional developers OOP kyu pasand karte hain?

  1. Code Reusability: Ek baar aapne Car class likh di, toh aap bina ek bhi extra line likhe millions of car objects bana sakte hain.

  2. Organization: Aap apni files ko object ke hisaab se organize kar sakte hain (e.g., User.js, Product.js, Orders.js).

  3. Easier Maintenance: Agar aapko saari cars mein ek "Fly" button add karna hai, toh aapko sirf ek jagah (Class mein) update karna hoga.

  4. Clear Structure: Isse code real world ki tarah dikhta hai, jise hamara dimaag jaldi samajh leta hai.


10. Practice Assignment: Ek Student Class Banayein

Engineer banne ke liye taiyar hain? Ise apne browser console mein try kijiye:

Task:

  1. Ek class banayein jiska naam ho Student.

  2. Ek constructor add karein jo name aur grade accept kare.

  3. Ek method add karein jiska naam ho displayGrade jo print kare: "Name: [name], Grade: [grade]".

  4. new keyword ka use karke do alag students create karein.

  5. Dono ke liye displayGrade method call karein.

Example Solution Idea:

let student1 = new Student("Amit", "A");
student1.displayGrade(); // Output: Name: Amit, Grade: A

11. Summary & Key Takeaways

Object-Oriented Programming (OOP) aapke projects ko organize rakhne ka ek powerful tool hai. Yahan ek quick recap hai:

  • OOP code ko objects mein organize karta hai jo real-world entities ko represent karte hain.

  • Classes blueprints (templates) hoti hain.

  • Objects instances hote hain (actual cheezein jo blueprint se bani hain).

  • Constructor woh special function hai jo object ka data initialize karta hai.

  • Methods class ke andar ke functions hote hain jo define karte hain ki object kya kar sakta hai.

  • Encapsulation data aur behavior ko ek saath group karne ki practice hai.

OOP ko master karke, aap sirf "code likhna" chhod kar "software engineer" banna shuru kar dete hain.

Happy Coding!