BCA / B.Tech 10 min read

Class & Objects in Hindi

Class and Object in C++ in Hindi | C++ में क्लास और ऑब्जेक्ट :


  • C++ एक ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (OOP) भाषा है, जिसमें क्लास और ऑब्जेक्ट्स की अवधारणा प्रमुख है। OOP का मुख्य उद्देश्य यह है कि हम वास्तविक दुनिया की समस्याओं को सुलझाने के लिए प्रोग्रामिंग को प्राकृतिक  और व्यवस्थित तरीके से उपयोग कर सकें। क्लास और ऑब्जेक्ट्स C++ प्रोग्रामिंग में आधारशिला का काम करते हैं।
  • C++ में क्लास और ऑब्जेक्ट्स का उपयोग प्रोग्राम को संरचित और व्यवस्थित बनाने के लिए किया जाता है। क्लास एक ब्लूप्रिंट है, जो डेटा और फ़ंक्शन्स को एक साथ समूहित करता है, जबकि ऑब्जेक्ट इस ब्लूप्रिंट का वास्तविक उदाहरण होता है। 
  • ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग की इस अवधारणा के माध्यम से हम डेटा को सुरक्षित, संरचित और पुन: उपयोग करने योग्य बना सकते हैं।
  • OOP की यह शक्तिशाली विशेषता हमें जटिल समस्याओं को आसानी से हल करने और वास्तविक दुनिया के मॉडल को प्रोग्रामिंग में प्रस्तुत करने की अनुमति देती है। क्लास और ऑब्जेक्ट का सही और प्रभावी उपयोग प्रोग्रामर को बेहतर और संगठित प्रोग्राम बनाने में मदद करता है।
इस लेख में, हम C++ में क्लास और ऑब्जेक्ट की अवधारणाओं, उनके उपयोग और उनके बीच के संबंध पर विस्तृत चर्चा करेंगे।

1. क्लास क्या है? (What is a Class?)

क्लास एक ब्लूप्रिंट या टेम्पलेट होती है, जो ऑब्जेक्ट्स के निर्माण के लिए उपयोग की जाती है। इसमें डेटा (डेटा मेंबर्स) और उन पर काम करने वाले फ़ंक्शन्स (मेंबर फ़ंक्शन्स) को शामिल किया जाता है।
 क्लास का उपयोग तब किया जाता है जब हमें किसी ऑब्जेक्ट के सभी गुणों और कार्यों को परिभाषित करना हो।

क्लास को हम "यूजर-डिफाइन्ड डेटा टाइप" के रूप में भी समझ सकते हैं, जो हमारे डेटा को संरचित और सुरक्षित तरीके से संगठित करता है।

क्लास की विशेषताएँ (Features of Class) :

  • इंकैप्सुलेशन (Encapsulation): क्लास डेटा और फ़ंक्शन्स को एक साथ समूहित करता है, जिससे डेटा सुरक्षित रहता है।
  • डेटा एब्स्ट्रैक्शन (Data Abstraction): क्लास उपयोगकर्ताओं से आंतरिक विवरण को छुपाता है और केवल आवश्यक जानकारी प्रदान करता है।
  • विरासत (Inheritance): एक क्लास दूसरी क्लास से गुण (प्रॉपर्टीज) और कार्य (फ़ंक्शन्स) प्राप्त कर सकती है, जिससे कोड का पुनः उपयोग संभव होता है।
  • पॉलीमॉर्फिज़्म (Polymorphism): एक नाम के साथ विभिन्न कार्य कर सकते हैं, जैसे कि फ़ंक्शन ओवरलोडिंग और ओवरराइडिंग।

क्लास का सिंटैक्स (Syntax of Class) :

class ClassName {
    // डेटा मेंबर्स
    int data1;
    float data2;

    // मेंबर फ़ंक्शन्स
    public:
        void display() {
            // कार्यान्वयन
        }
};

उदाहरण (Example of Class)

#include <iostream>
using namespace std;

class Student {
    private:
        int rollNumber;
        string name;

    public:
        void setDetails(int r, string n) {
            rollNumber = r;
            name = n;
        }

        void display() {
            cout << "Roll Number: " << rollNumber << endl;
            cout << "Name: " << name << endl;
        }
};

int main() {
    Student student1;  // Student क्लास का एक ऑब्जेक्ट
    student1.setDetails(101, "Rahul");  // डेटा सेट करना
    student1.display();  // डेटा प्रदर्शित करना

    return 0;
}
इस उदाहरण में, Student एक क्लास है जो दो डेटा मेंबर्स (rollNumber और name) और दो मेंबर फ़ंक्शन्स (setDetails और display) को शामिल करती है। student1 इस क्लास का एक ऑब्जेक्ट है।

2. ऑब्जेक्ट क्या है? (What is an Object?)

ऑब्जेक्ट क्लास का एक उदाहरण (instance) होता है। ऑब्जेक्ट्स वो वास्तविक इकाइयाँ होते हैं जिनसे हम क्लास के गुणों और कार्यों का उपयोग करते हैं। क्लास एक खाका है और ऑब्जेक्ट उस खाके का वास्तविक उपयोग होता है।

ऑब्जेक्ट का उपयोग करके हम क्लास में परिभाषित डेटा मेंबर्स और मेंबर फ़ंक्शन्स तक पहुँच सकते हैं।


ऑब्जेक्ट की विशेषताएँ (Features of Object)

  • अद्वितीय इकाई (Unique Entity): हर ऑब्जेक्ट का एक अद्वितीय नाम और गुण होते हैं।
  • मेमोरी आवंटन (Memory Allocation): जब कोई ऑब्जेक्ट बनाया जाता है, तो मेमोरी में उसके लिए स्थान आवंटित किया जाता है।
  • क्लास की कार्यक्षमता का उपयोग: ऑब्जेक्ट्स के माध्यम से हम क्लास की कार्यक्षमता को निष्पादित कर सकते हैं, जैसे कि फ़ंक्शन्स को कॉल करना और डेटा को एक्सेस करना।

ऑब्जेक्ट का निर्माण (Creating an Object) :

ClassName objectName;  // ऑब्जेक्ट का निर्माण

उदाहरण (Example of Object) :

Student student1;  // Student क्लास का ऑब्जेक्ट
यहाँ student1 एक ऑब्जेक्ट है, जो Student क्लास का एक उदाहरण है। इस ऑब्जेक्ट का उपयोग करके हम क्लास के डेटा मेंबर्स और मेंबर फ़ंक्शन्स तक पहुँच सकते हैं।

Relationship between Class and Object in C++ in Hindi | क्लास और ऑब्जेक्ट के बीच संबंध :

  • क्लास: क्लास एक खाका है जो ऑब्जेक्ट्स को परिभाषित करता है। यह डेटा मेंबर्स और फ़ंक्शन्स का एक समूह होता है।
  • ऑब्जेक्ट: ऑब्जेक्ट क्लास का एक वास्तविक उदाहरण होता है। यह क्लास के डेटा मेंबर्स और फ़ंक्शन्स को उपयोग में लाता है और मेमोरी में स्थान लेता है।
  • उदाहरण के लिए: यदि "कार" एक क्लास है, तो "मेरी कार" एक ऑब्जेक्ट होगा। क्लास वह सभी जानकारी प्रदान करती है जो किसी कार के लिए आवश्यक है, जैसे कि इंजन, पहिए, दरवाजे आदि। लेकिन "मेरी कार" उस खाके का एक विशेष उदाहरण है, जिसमें उस कार का रंग, मॉडल, और अन्य विशेषताएँ शामिल हैं।

Advantages of Class and Object in C++ in Hindi | क्लास और ऑब्जेक्ट के फायदे :

  • कोड का पुन: उपयोग (Code Reusability): क्लास की सहायता से हम कोड को पुनः उपयोग कर सकते हैं। एक बार क्लास बनाने के बाद, हम उसका उपयोग कई ऑब्जेक्ट्स के लिए कर सकते हैं।
  • डेटा सुरक्षा (Data Security): क्लास के डेटा मेंबर्स को private या protected बना कर हम उन्हें बाहरी दुनिया से छुपा सकते हैं, जिससे डेटा की सुरक्षा सुनिश्चित होती है।
  • जटिलता को सरल बनाना (Simplifying Complexity): क्लास और ऑब्जेक्ट्स के माध्यम से हम जटिल समस्याओं को छोटे हिस्सों में विभाजित कर सकते हैं, जिससे समस्या का समाधान सरल हो जाता है।
  • एब्स्ट्रैक्शन (Abstraction): क्लास उपयोगकर्ताओं से आंतरिक कार्यप्रणाली को छुपाती है और केवल आवश्यक जानकारी प्रदान करती है।
  • विरासत (Inheritance): क्लास के द्वारा हम विरासत की अवधारणा का उपयोग कर सकते हैं, जिससे कोड का पुनः उपयोग और विस्तार संभव होता है।