What Object-Oriented Programming (OOP) means
OOP का मतलब है (Object-Oriented Programming) यह प्रोग्रामिंग का तरीका है जिसमें हम वास्तविक दुनिया की चीज़ों (objects) को प्रोग्राम में मॉडल करते हैं।
उदाहरण:
कार (Car) एक object हो सकती है।
कार के पास गुण (properties) जैसे color, brand और कार्य (methods) जैसे drive(), brake() हो सकते हैं।
Real-world analogy (blueprint → objects)
Analogy:
Blueprint (नक़्शा / योजना) → class
Actual cars built from blueprint → objects
मतलब: एक class नक़्शा / योजना है, और उससे बने object असली चीज़/ वस्तु हैं।
- Blueprint of a car → class
- Car made from blueprint → object
What is a class in JavaScript
Class एक template है जिससे हम objects बना सकते हैं।
--------------------------------------------------------
class Car {
constructor(brand, color) {
this.brand = brand;
this.color = color;
}
drive() {
console.log(`${this.brand} is driving`);
}
}
Explanation:
- class Car { ... } → Car नाम की class बनाई।
- constructor → जब भी नया object बने, उसकी properties को initialize करता है।
- drive() → class के अंदर method, यानी कार का behavior
-----------------------------------------------------------
Creating objects using classes
let car1 = new Car("Toyota", "Red");
let car2 = new Car("Honda", "Blue");
car1.drive(); // Output: Toyota is driving
car2.drive(); // Output: Honda is driving
Explanation:
new Car(...) → Car class से नया object बनाया।
हर object की अपनी अलग properties होती हैं।
--------------------------------------------------------------------
Constructor method
Constructor एक special method है जो class के object को बनाते समय automatically चलता है। इसका काम है object की properties को initialize करना। Constructor method का नाम हमेशा constructor होता है।
Analogy:
जैसे नया कार बनाते हैं → engine, color, brand सेट करना पड़ता है।
उसी तरह, Constructor object के लिए initial values सेट करता है।
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
greet() {
console.log(`Hello, my name is ${this.name}`);
}
}
let person1 = new Person("Amit", 20);
let person2 = new Person("Sita", 22);
person1.greet(); // Hello, my name is Amit
person2.greet(); // Hello, my name is Sita
- constructor ने name और age set किया।
- हर object की अपनी अलग properties हैं।
Methods inside a class
- Class के अंदर हम methods define कर सकते हैं।
- Methods objects के साथ काम करते हैं।
Example:
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
greet() {
console.log(`Hello, my name is ${this.name}`);
}
}
let person1 = new Person("Ravi", 25);
person1.greet(); // Hello, my name is Ravi
-------------------------------------------------------------------
Basic idea of encapsulation
- Encapsulation मतलब data को एक unit में सुरक्षित रखना।
- Class के अंदर data (properties) और methods को एक साथ रखना।
- इससे code reuse आसान होता है और गलती कम होती है।
Simple analogy:
Car के अंदर engine hidden है → user बस drive() करता है।
