BCA / B.Tech 15 min read

OOPS concepts in Java Hindi

Concepts of OOPS in Hindi – OOPS के कांसेप्ट्स क्या हैं?

OOPs (ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग) क्या है?

  • OOPs (Object-Oriented Programming) एक प्रोग्रामिंग स्टाइल है, जिसमें डेटा और उस पर होने वाली प्रक्रियाओं को एक साथ रखा जाता है। 
  • इसका मकसद कोड को ऑर्गेनाइज़ करना, उसे दोबारा इस्तेमाल करने योग्य बनाना और सिक्योरिटी बढ़ाना होता है।
 रियल लाइफ उदाहरण:

मान लीजिए, एक गाड़ी (Car) एक ऑब्जेक्ट है। उसके कुछ गुण (Properties) जैसे – रंग, मॉडल, स्पीड होते हैं, और कुछ क्रियाएं (Methods) जैसे – स्टार्ट, ब्रेक, एक्सीलेरेशन होते हैं।

ठीक इसी तरह, Java में प्रोग्रामिंग के दौरान भी हम Objects बनाते हैं। OOPs इसी कॉन्सेप्ट पर आधारित है।

Pillars of OOPs in Hindi | OOPs के 4 मुख्य सिद्धांत :

Java में OOPs के चार मुख्य सिद्धांत (Principles) होते हैं:

Abstraction (एब्स्ट्रैक्शन - छिपाना)
Encapsulation (एनकैप्सुलेशन - बांधकर रखना)
Inheritance (इनहेरिटेंस - विरासत में देना)
Polymorphism (पॉलीमॉर्फिज़्म - एक से अधिक रूप)

Abstraction (एब्स्ट्रैक्शन - छिपाना)

 परिभाषा: एब्स्ट्रैक्शन का मतलब है ज़रूरी जानकारी दिखाना और बाकी को छिपाना।

 रियल लाइफ उदाहरण:

  • जब आप गाड़ी चलाते हैं, तो आप सिर्फ़ स्टेयरिंग, ब्रेक और एक्सीलेटर का इस्तेमाल करते हैं।
  • लेकिन इंजन के अंदर क्या हो रहा है, यह आपको दिखता नहीं है।
 Java में:

एब्स्ट्रैक्शन को abstract class और interface के ज़रिए लागू किया जाता है।

 Example: Abstraction

// Abstract Class
abstract class Vehicle {
    abstract void start();  // सिर्फ़ method का नाम (body नहीं)
    
    void stop() {  // Normal method
        System.out.println("गाड़ी रुक गई।");
    }
}

// Subclass
class Car extends Vehicle {
    void start() {  // Abstract method को define करना ज़रूरी है
        System.out.println("कार स्टार्ट हो गई।");
    }
}

public class Main {
    public static void main(String args[]) {
        Vehicle myCar = new Car(); 
        myCar.start();  // Output: कार स्टार्ट हो गई।
        myCar.stop();   // Output: गाड़ी रुक गई।
    }
}
यहाँ start() method छिपा हुआ था और Car class ने इसे implement किया।

Encapsulation (एनकैप्सुलेशन - बांधकर रखना)

परिभाषा: एनकैप्सुलेशन का मतलब है डेटा और उससे जुड़े मेथड्स को एक साथ बांधकर रखना ताकि बाहरी दुनिया से उसे सुरक्षित रखा जा सके।

रियल लाइफ उदाहरण: आपका मोबाइल फोन – इसका सारा कोड अंदर होता है, लेकिन आप सिर्फ़ बटन दबाकर उसे इस्तेमाल करते हैं।

Java में:

  • डेटा को private बनाकर सुरक्षित किया जाता है।
  • उस डेटा को getter और setter मेथड्स से एक्सेस किया जाता है।
Example: Encapsulation

class Person {
    private String name;  // Private variable (बाहर से डायरेक्ट एक्सेस नहीं होगा)

    // Setter method (नाम सेट करने के लिए)
    public void setName(String newName) {
        this.name = newName;
    }

    // Getter method (नाम पाने के लिए)
    public String getName() {
        return name;
    }
}

public class Main {
    public static void main(String args[]) {
        Person p = new Person();
        p.setName("अजय");   // नाम सेट किया
        System.out.println(p.getName()); // Output: अजय
    }
}
यहाँ name को private करके direct access रोका गया और getter-setter का इस्तेमाल किया।

Inheritance (इनहेरिटेंस - विरासत में देना)

परिभाषा: इनहेरिटेंस का मतलब है एक क्लास का दूसरी क्लास से गुण (Properties) और क्रियाएं (Methods) लेना।

रियल लाइफ उदाहरण: एक बाप से बेटा कुछ गुण विरासत में लेता है (जैसे आँखों का रंग, कद, व्यवहार आदि)।

Java में:

extends कीवर्ड से इनहेरिटेंस होता है।

 Example: Inheritance

// Parent class
class Animal {
    void eat() {
        System.out.println("जानवर खाना खा रहा है।");
    }
}

// Child class (Animal की प्रॉपर्टी ले रहा है)
class Dog extends Animal {
    void bark() {
        System.out.println("कुत्ता भौंक रहा है।");
    }
}

public class Main {
    public static void main(String args[]) {
        Dog myDog = new Dog();
        myDog.eat();  // Output: जानवर खाना खा रहा है।
        myDog.bark(); // Output: कुत्ता भौंक रहा है।
    }
}
 यहाँ Dog क्लास ने Animal क्लास की eat() method को इस्तेमाल किया।

Polymorphism (पॉलीमॉर्फिज़्म - एक से अधिक रूप)

परिभाषा: पॉलीमॉर्फिज़्म का मतलब है एक ही चीज़ के अलग-अलग रूप होना।

रियल लाइफ उदाहरण: आपका मोबाइल एक ही बटन से अलग-अलग काम करता है – जैसे छोटे प्रेस से कॉल कट होती है, लंबे प्रेस से स्क्रीन लॉक होती है।

Java में:

  • Method Overloading (समान नाम के method लेकिन अलग parameters)।
  • Method Overriding (Parent class का method, Child class में redefine करना)।

 Example: Method Overloading

class MathOperation {
    int add(int a, int b) {
        return a + b;
    }
    
    int add(int a, int b, int c) { // Same method name, different parameters
        return a + b + c;
    }
}

public class Main {
    public static void main(String args[]) {
        MathOperation obj = new MathOperation();
        System.out.println(obj.add(5, 10));    // Output: 15
        System.out.println(obj.add(5, 10, 20)); // Output: 35
    }
}
यहाँ add() method के दो versions हैं (Method Overloading)।

Advantages of OOPs in Hindi | OOPs के फायदे :

 Code Reusability – इनहेरिटेंस की वजह से कोड को बार-बार लिखने की जरूरत नहीं।
 Security – एनकैप्सुलेशन से डेटा सुरक्षित रहता है।
 Flexibility – पॉलीमॉर्फिज़्म से एक ही method अलग-अलग situations में काम कर सकता है।
 Better Organization – कोड को सही तरीके से ऑर्गेनाइज़ किया जा सकता है।

In this Chapter

OOPS concepts in Java Hindi
BCA || Java 2024 Paper || MDSU Exam Paper
What is Java, Characteristics of Java - Java क्या है और जावा की विशेषताएं
Difference between Java and C++ in Hindi. (Java और C++ में अंतर )
Applications of Java Programming in Hindi
What is JVM and JRE in hindi
Features of JAVA in hindi
What is Java bean in hindi & advantage in Hindi
Difference between Java and JavaScript in Hindi
JIT Compiler in Hindi
What is Control Statement (structure) in Hindi
What is variable in hindi (वेरिएबल क्या होता है?):-
Java URL Class in Hindi
What is Java swing and its methods in Hindi
Operators in Java in Hindi
Class & Method in Hindi
Inheritance in Java in Hindi | जावा में इनहेरिटेंस हिंदी में
instance Operator in Hindi
Token in Hindi
Data Types in Hindi
Constructor in Hindi
Object-Oriented-Design in Hindi
Conditional Operator in Hindi
Constant in Hindi
Reference Variable in Hindi
Type Casting in Hindi
Literals in Hindi
Identifiers in Hindi
Array in Hindi
Anonymous Array in Hindi
Access Modifiers in Hindi
Enum Data type in Hindi
Keywords in Hindi-Java
Super Keywords in Hindi
Static Keywords in Hindi
Final Keywords in Hindi
New Operator in Hindi
Method Types in Hindi
Method Overloading in Hindi
Method Overriding in Hindi
Method Hiding in Hindi
Class & Object in Hindi
Diffrence Beetween Class & Object in Hindi
Math Class in Hindi
Abstraction in Hindi
Adapter Pattern in Hindi
Package in Hindi
Class & Structure in Java in Hindi
Exception Handling in Hindi