प्रोग्रामिंग प्रतिमान सिद्धांत या विचार हैं जो विभिन्न भाषाओं को आकार देने में मदद करते हैं जिनका उपयोग आप सॉफ्टवेयर बनाने के लिए करते हैं। वे एक प्रोग्रामिंग भाषा की प्रमुख विशेषताओं का प्रतिनिधित्व करते हैं, इसके व्यवहार को निर्धारित करते हैं।

इसलिए, यह कहना सुरक्षित है कि एक प्रतिमान प्रोग्रामिंग भाषा के सिंटैक्स और शब्दार्थ के समान ही महत्वपूर्ण है। अधिकांश लोकप्रिय प्रोग्रामिंग भाषाएं कुछ प्रकार के प्रोग्रामिंग प्रतिमानों में से एक का उपयोग करती हैं।

1. अनिवार्य प्रोग्रामिंग

अनिवार्य प्रतिमान प्रोग्रामिंग के शुरुआती दृष्टिकोणों में से एक है, जो 1950 के दशक तक जाता है। यह प्रतिमान चर, आदेशों और प्रक्रियाओं के उपयोग पर बहुत अधिक निर्भर करता है।

इम्पीरेटिव प्रोग्रामिंग एक प्रोग्राम में स्टेट को स्टोर करने के लिए वेरिएबल्स का निरीक्षण और अद्यतन करने के लिए कमांड का उपयोग करता है। आदेशों का एक संयोजन तब एक प्रक्रिया बनाता है। डेटा एब्स्ट्रैक्शन डेटा प्रतिनिधित्व में एक महत्वपूर्ण भूमिका निभाता है, जो ढीले युग्मन की सुविधा प्रदान करता है।

अनिवार्य प्रतिमान का उपयोग करने वाली सबसे लोकप्रिय भाषाओं में से एक सी है। यह प्रोग्रामिंग भाषा केवल फ़ंक्शन प्रक्रियाओं का समर्थन करती है।

एक अनिवार्य कार्यक्रम उदाहरण

#शामिल करना 
#शामिल करना

संरचना ग्राहक
{
इंट ग्राहक आईडी;
चार ऑर्डरनंबर [20];
चार नाम [30];
फ्लोट ऑर्डरटोटल;
};

शून्य मुख्य ()
{
स्ट्रक्चर कस्टमर जॉन = {4000, "HK1001", "जॉन डो", 200.00};
स्ट्रक्चर कस्टमर जेन = {4001, "HK1002", "जेन डो", 600.00};

memcpy (जेन। नाम, "जेन जोन्स", 10);

प्रिंटफ ("%s ऑर्डर संख्या %s की कुल लागत है: $%.2f", जेन. नाम, जेन। ऑर्डरनंबर, जेन। कुल आदेश);
}

ऊपर दिया गया C प्रोग्राम a. बनाता है ग्राहक संरचना। struct प्रकार सी में डेटा एब्स्ट्रैक्शन का एक प्रमुख उदाहरण है।

प्रोग्राम प्रदर्शित करता है कि कमांड कैसे बना सकते हैं, अपडेट कर सकते हैं और स्थिति प्रदर्शित कर सकते हैं - के माध्यम से जेन संरचना चर। ये सभी आदेश a. में हैं मुख्य() फ़ंक्शन, जो समग्र रूप से एक प्रक्रिया है जो बताती है कि ग्राहक को ऑर्डर के लिए कितना पैसा देना चाहिए।

उपरोक्त प्रोग्राम को निष्पादित करने से आपके कंसोल में निम्न आउटपुट उत्पन्न होगा:

जेन जोन्स ऑर्डर नंबर HK1002 की कुल लागत है: $600.00

2. ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग

ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग प्रतिमान 1990 के दशक में शुरू हुआ। यह प्रतिमान अनिवार्यता का वंशज है। हालाँकि, वस्तु-उन्मुख प्रतिमान वस्तुओं में स्थिति को संग्रहीत करता है न कि चर में।

ऑब्जेक्ट-ओरिएंटेड प्रतिमान का उपयोग करने वाली प्रोग्रामिंग भाषाएं अक्सर जटिल अनुप्रयोगों को बेहतर ढंग से संभालती हैं। प्रतिमान की मुख्य विशेषताएं वस्तुएं, वर्ग, डेटा एनकैप्सुलेशन, वंशानुक्रम और बहुरूपता हैं।

एक वर्ग वस्तु-उन्मुख कार्यक्रम का मूलभूत घटक है। कुछ वर्ग अन्य वर्गों से गुण और संचालन प्राप्त करते हैं। प्रोग्रामर इसे माता-पिता के रिश्ते के रूप में वर्णित करते हैं। यह उप-प्रकार बहुरूपता की श्रेणी में आता है।

इनकैप्सुलेशन के माध्यम से संवेदनशील डेटा को छिपाने और संरक्षित करने के लिए कक्षाओं में उपकरण होते हैं। एक बार जब आप एक वर्ग को परिभाषित कर लेते हैं, तो आप इसका उपयोग ऑब्जेक्ट बनाने के लिए कर सकते हैं।

ऑब्जेक्ट-ओरिएंटेड प्रतिमान का उपयोग करने वाली तीन अधिक लोकप्रिय प्रोग्रामिंग भाषाएं जावा, सी ++ और पायथन हैं।

एक वस्तु-उन्मुख कार्यक्रम उदाहरण

यह एप्लिकेशन ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषा, जावा की अधिकांश विशेषताओं को प्रदर्शित करता है। एक विशिष्ट प्रकार के ग्राहक को अधिक सामान्य प्रकार से व्यवहार विरासत में मिलता है। सभी ग्राहक एक इंटरफ़ेस लागू करते हैं। विशिष्ट ग्राहक प्रकार इंटरफ़ेस से एक विधि को ओवरराइड करता है।

डिस्काउंटेबल.जावा फाइल

जनताइंटरफेस छूट योग्य {

जनताशून्य ग्रैंडटोटल (स्ट्रिंग ऑर्डरनंबर, दोहरा संपूर्ण);

}

उपरोक्त कोड एक इंटरफ़ेस बनाता है। जावा में, एक इंटरफ़ेस है बहुरूपता का एक और उदाहरण. यह उन संस्थाओं को अनुमति देता है जो समान गुणों तक पहुँचने के लिए सीधे तौर पर संबंधित नहीं हैं, जैसे कुल योग तरीका। यह एप्लिकेशन ग्राहकों पर केंद्रित है, लेकिन एक कर्मचारी वर्ग भी डिस्काउंटेबल इंटरफ़ेस के लिए उपयोग कर सकता है।

ग्राहक.जावा फ़ाइल

जनताकक्षा ग्राहक औजार छूट योग्य {
संरक्षितपूर्णांक ग्राहक आईडी, ग्राहक पहचान;
संरक्षित स्ट्रिंग ग्राहक नाम;
संरक्षित स्ट्रिंग ग्राहक कोड;

जनता ग्राहक() {
यह.ग्राहक आईडी = 0;
यह.ग्राहक नाम = "";
यह.ग्राहक कोड = "";
}

जनता ग्राहक(पूर्णांक ग्राहक आईडी, स्ट्रिंग ग्राहक नाम, स्ट्रिंग ग्राहक कोड) {
यह.customerId = customerId;
यह.ग्राहकनाम = ग्राहकनाम;
यहग्राहक कोड = ग्राहक कोड;
}

जनतापूर्णांक getCustomerId () {
वापसी ग्राहक आईडी, ग्राहक पहचान;
}
जनताशून्य ग्राहक आईडी सेट करें (पूर्णांक ग्राहक आईडी, ग्राहक पहचान) {
यह.customerId = customerId;
}
जनता स्ट्रिंग getCustomerName () {
वापसी ग्राहक का नाम;
}
जनताशून्य setCustomerName (स्ट्रिंग ग्राहकनाम) {
यह.ग्राहकनाम = ग्राहकनाम;
}
जनता स्ट्रिंग getCustomerCode () {
वापसी ग्राहक क्रमांक;
}

जनताशून्य सेट कस्टमर कोड (स्ट्रिंग कस्टमरकोड) {
यहग्राहक कोड = ग्राहक कोड;
}

जनतादोहरा ग्राहक प्रकार (स्ट्रिंग ग्राहक कोड) {
दोहरा छूट = 0;

अगर (customerCode.toLowerCase().equals("pre")) {
छूट = 0.10;
} अन्यअगर (customerCode.toLowerCase().equals("gen")) {
छूट = 0.02;
} अन्यअगर (customerCode.toLowerCase().equals("new")) {
छूट = 0.05;
}
वापसी छूट;
}

@ ओवरराइड
जनताशून्य ग्रैंडटोटल (स्ट्रिंग ऑर्डरनंबर, दोहरा संपूर्ण) {

दोहरा छूट = ग्राहक प्रकार (ग्राहक कोड);
दोहरा छूट प्रतिशत = कुल * छूट;
दोहरा अंतिम कुल = कुल - छूट प्रतिशत;

प्रणाली।बाहर.println ("के लिए" + getCustomerName () + "आदेश संख्या" + आदेश संख्या + "कुल योग है: $" + finalTotal);
}

}

उपरोक्त कोड a. बनाता है ग्राहक कक्षा। यह लागू करता है छूट योग्य इंटरफ़ेस, फिर ग्राहक की श्रेणी के आधार पर एक भव्य कुल की गणना और प्रदर्शित करने के लिए इसकी विधि का उपयोग करता है। संरक्षित उपरोक्त कोड में कीवर्ड डेटा एनकैप्सुलेशन का एक उदाहरण है; यह इस वर्ग के माध्यम से बनाए गए डेटा तक पहुंच को प्रतिबंधित करता है। तो, केवल उपवर्ग (या बाल वर्ग) ग्राहक वर्ग के पास अपने डेटा तक पहुंच होगी।

NewCustomer.java फ़ाइल

जनताकक्षा नए ग्राहक फैली ग्राहक {
जनता नए ग्राहक() {
बहुत अच्छा();
}

जनता नए ग्राहक(पूर्णांक ग्राहक आईडी, स्ट्रिंग ग्राहक नाम, स्ट्रिंग ग्राहक कोड) {
बहुत अच्छा(ग्राहक आईडी, ग्राहक नाम, ग्राहक कोड);
}

}

उपरोक्त कोड a. बनाता है नए ग्राहक वर्ग जो का विस्तार करता है ग्राहक कक्षा। इस जावा वर्ग विरासत का उपयोग करता है माता-पिता के साथ एक बच्चे के रिश्ते का प्रतिनिधित्व करने के लिए ग्राहक कक्षा। नए ग्राहक रिश्ते में बच्चा है, इसलिए, ग्राहक वर्ग में सभी संपत्तियों तक इसकी पहुंच है। यह ग्राहक वर्ग विशेषताओं का उपयोग करके आयात करता है बहुत अच्छा() तरीका।

App.java फ़ाइल

जनताकक्षा अनुप्रयोग {
जनतास्थिरशून्य मुख्य (स्ट्रिंग [] तर्क) {
ग्राहक जेन = नया न्यू कस्टमर (4001, "जेन जोन्स", "नया");
Jane.grandTotal ("HK1002", 600);
}
}

उपरोक्त कोड एक निष्पादन योग्य बनाता है अनुप्रयोग कक्षा। यह वर्ग एक ग्राहक वस्तु (जेन) बनाता है और बहुरूपता के माध्यम से जेन को बनाता है नए ग्राहक. अंत में, यह जेन के आदेश के लिए कुल योग उत्पन्न करता है। उपरोक्त प्रोग्राम को निष्पादित करने से कंसोल में निम्न आउटपुट उत्पन्न होगा:

जेन जोन्स ऑर्डर नंबर HK1002 के लिए कुल योग है: $570.0

3. कार्यात्मक प्रोग्रामिंग

इस प्रतिमान की प्रमुख अवधारणाएं अभिव्यक्ति, कार्य, पैरामीट्रिक बहुरूपता और डेटा अमूर्तता हैं। अभिव्यक्ति कार्यात्मक प्रोग्रामिंग भाषाओं द्वारा उपयोग किए जाने वाले कार्यों के मूलभूत घटक हैं। पैरामीट्रिक बहुरूपता तीन प्रकार के बहुरूपता में से एक है। यह प्रकार कार्यों और प्रकारों के माध्यम से सामान्य प्रोग्रामिंग की सुविधा प्रदान करता है।

जावास्क्रिप्ट सबसे लोकप्रिय कार्यात्मक प्रोग्रामिंग भाषाओं में से एक है।

एक कार्यात्मक कार्यक्रम उदाहरण

स्थिरांक ग्राहक = {
पहचान संख्या: 1002,
नाम: 'जेन जोन्स',
ग्राहक कोड: 'नया'
}

कास्ट मुख्य = (ग्राहक, func, मान) => {
var कुल = func.apply (शून्य, [customer. ग्राहक कोड, मान]);
कंसोल.लॉग (`$ {customer. नाम} कुल है: ${total}`);
}

कास्ट ग्रैंडटोटल = (ग्राहक कोड, कुल) => {
अगर (ग्राहक कोड == "नया") {
छूट = कुल * 0.05;
मुख्य कुल = कुल - छूट;
मुख्य कुल वापसी;
} और अगर (ग्राहक कोड == "पूर्व") {
छूट = कुल * 0.10;
मुख्य कुल = कुल - छूट;
मुख्य कुल वापसी;
}
}

मुख्य (ग्राहक, ग्रैंडटोटल, 600);

ऊपर दिए गए जावास्क्रिप्ट प्रोग्राम में एक है वस्तु शाब्दिक और दो कार्य। यह प्रत्येक फ़ंक्शन को का उपयोग करके एक अभिव्यक्ति के रूप में घोषित करता है जावास्क्रिप्ट एरो फंक्शन. मुख्य() फ़ंक्शन एक उच्च-क्रम फ़ंक्शन है। यह लेता है कुल योग इसके तर्कों में से एक के रूप में कार्य करें, फिर उस फ़ंक्शन को कॉल करें। यह भी पैरामीट्रिक बहुरूपता का एक उदाहरण है।

कुल योग() फ़ंक्शन में कई भाव होते हैं, और ग्राहकवस्तु डेटा एब्स्ट्रैक्शन का एक उदाहरण है। उपरोक्त प्रोग्राम कंसोल में निम्न आउटपुट उत्पन्न करता है:

जेन जोन्स कुल है: $570

प्रोग्रामिंग भाषाओं की जटिलता

एक प्रोग्रामिंग भाषा एक प्रोग्रामिंग प्रतिमान की अवधारणाओं को शामिल कर सकती है, लेकिन इसका मतलब यह नहीं है कि यह एक प्रतिमान तक सीमित है। कई लोकप्रिय प्रोग्रामिंग भाषाएं (जैसे कि पायथन, जावा, जावास्क्रिप्ट और सी ++) बहु-प्रतिमान भाषाएं हैं।

कुछ प्रोग्रामिंग प्रतिमान, जैसे कि अनिवार्य और वस्तु-उन्मुख प्रतिमान, भी संबंधित हैं। लेकिन इस रिश्तेदारी के बावजूद, कुछ महत्वपूर्ण अंतर हैं।

ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग बनाम। प्रक्रियात्मक प्रोग्रामिंग: क्या उन्हें अलग बनाता है?

आगे पढ़िए

साझा करनाकलरवसाझा करनाईमेल

संबंधित विषय

  • प्रोग्रामिंग
  • प्रोग्रामिंग
  • कार्यात्मक प्रोग्रामिंग
  • ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग
  • प्रोग्रामिंग भाषा

लेखक के बारे में

कदीशा कीन (51 लेख प्रकाशित)

कदीशा कीन एक पूर्ण-स्टैक सॉफ़्टवेयर डेवलपर और तकनीकी/प्रौद्योगिकी लेखक हैं। उसके पास कुछ सबसे जटिल तकनीकी अवधारणाओं को सरल बनाने की विशिष्ट क्षमता है; उत्पादन सामग्री जिसे किसी भी तकनीकी नौसिखिए द्वारा आसानी से समझा जा सकता है। उसे लिखने, दिलचस्प सॉफ्टवेयर विकसित करने और दुनिया की यात्रा (वृत्तचित्रों के माध्यम से) करने का शौक है।

कदीशा कीन. की अन्य फ़िल्में-टीवी शो

हमारे न्यूज़लेटर की सदस्यता लें

तकनीकी युक्तियों, समीक्षाओं, निःशुल्क ई-पुस्तकों और अनन्य सौदों के लिए हमारे न्यूज़लेटर से जुड़ें!

सब्सक्राइब करने के लिए यहां क्लिक करें