Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Ruby

रूबी क्लास डिज़ाइन में महारत हासिल करें: कस्टम क्लासेस बनाने के लिए चरण-दर-चरण गाइड

रूबी में क्लास क्या है?

क्लासेस ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (OOP) में बुनियादी बिल्डिंग ब्लॉक्स हैं और वे ऑब्जेक्ट्स बनाने के लिए एक ब्लूप्रिंट को परिभाषित करने में आपकी मदद करते हैं।

ऑब्जेक्ट्स क्लास के उत्पाद हैं।

तो ऑब्जेक्ट क्या है?

एक ऑब्जेक्ट एक व्यक्तिगत "चीज़" है, जिसकी अपनी पहचान और अपना डेटा होता है।

उदाहरण के लिए:

एक Book क्लास किताबें बनाने के लिए ब्लूप्रिंट हो सकती है।

यह क्लास परिभाषित करती है कि ALL किताबों में क्या सामान्य विशेषताएं हैं, जैसे:

  • एक शीर्षक
  • एक लेखक
  • पेज
  • आदि।

प्रत्येक व्यक्तिगत किताब एक ऑब्जेक्ट है और आप Book क्लास की बदौलत इसके जैसे कई ऑब्जेक्ट्स बना सकते हैं। क्लासेस बनाने का यही उद्देश्य है, वे आपके रूबी एप्लिकेशन के लिए पुन: प्रयोज्य ब्लूप्रिंट हैं।

अब:

आप सीखने जा रहे हैं कि अपनी खुद की क्लासेस कैसे लिखें ताकि आप आज ही OOP कोड लिखना शुरू कर सकें।

रूबी क्लास कैसे बनाएं

क्लास बनाने का सिंटैक्स इस तरह होता है:

class Orange
end

ध्यान दें कि:

  • क्लास के नाम बड़े अक्षर से शुरू होते हैं
  • हम class कीवर्ड का उपयोग करते हैं, फिर end कीवर्ड
  • एक खाली क्लास बहुत उपयोगी नहीं है, लेकिन आप फिर भी इससे ऑब्जेक्ट्स बना सकते हैं

क्लास बनाने के अन्य तरीके हैं (जैसे Class.new), लेकिन ये तरीके केवल विशेष स्थितियों में उपयोगी हैं।

एक क्लास, कई ऑब्जेक्ट्स

क्लास का मुख्य उपयोग मेथड्स, इंस्टेंस वेरिएबल्स और कॉन्स्टेंट्स का एक कंटेनर होना है, जो एक ब्लूप्रिंट बनाता है जिससे आप ऑब्जेक्ट्स बना सकते हैं।

आप new मेथड का उपयोग करके ऑब्जेक्ट्स बना सकते हैं।

इस तरह:

Orange.new

हम ऑब्जेक्ट बनाने की प्रक्रिया को "इंस्टेंशिएशन" के रूप में जानते हैं, और हम कहते हैं कि एक ऑब्जेक्ट एक क्लास का "इंस्टेंस" है।

ऑब्जेक्ट्स क्यों बनाएं?

क्योंकि आपके द्वारा बनाया गया प्रत्येक ऑब्जेक्ट अलग और यूनिक होता है।

प्रत्येक ऑब्जेक्ट की अपनी पहचान होती है।

उदाहरण के लिए:

Orange क्लास के साथ, आपके द्वारा बनाया गया प्रत्येक orange ऑब्जेक्ट का अपना वजन, मूल देश, गुणवत्ता, आदि होता है।

रूबी क्लासेस को अधिक उपयोगी बनाना

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

एक मेथड वह चीज़ है जो आपकी क्लास कर सकती है।

उदाहरण के लिए:

आप जूस पाने के लिए एक संतरे को निचोड़ सकते हैं।

यहाँ एक कोड उदाहरण है:

class Orange
  def squeeze
    puts "Here's your juice!"
  end
end
orange = Orange.new
orange.squeeze

ये मेथड्स आपके ऑब्जेक्ट्स के लिए कमांड बन जाते हैं!

आपके द्वारा बनाया गया प्रत्येक Orange ऑब्जेक्ट इस squeeze मेथड तक पहुंच रखेगा और यह क्लासेस का उपयोग करने के लाभों में से एक है।

एक इंस्टेंस वेरिएबल कुछ ऐसा है जो आपकी क्लास जानती है।

उदाहरण:

class Orange
  def initialize
    @juice_available = 100
  end
  def squeeze
    @juice_available -= 50
  end
end

इंस्टेंस वेरिएबल्स लोकल वेरिएबल्स से अलग होते हैं क्योंकि वे @ सिंबल से शुरू होते हैं। आप उन्हें क्लास के बाहर एक्सेस नहीं कर सकते जब तक कि आप attr_accessor परिभाषित न करें।

यह कौन सी क्लास है?

रूबी में ऑब्जेक्ट्स के साथ काम करते समय यह जानना उपयोगी होता है कि कोई ऑब्जेक्ट किस क्लास से बना है।

आप ऐसा इस तरह कर सकते हैं:

"".class # String
[].class # Array
orange.class # Orange (assuming orange = Orange.new)

यह उपयोगी क्यों है?

मेथड्स वे छोटे इंजन हैं जो रूबी में चीजों को घटित करते हैं।

यदि आप क्लास जानते हैं तो आप पता लगा सकते हैं कि कौन सी मेथड्स उपलब्ध हैं (Google, ri, या pry का उपयोग करें), दूसरे शब्दों में, आप खोज सकते हैं कि ऑब्जेक्ट आपके लिए क्या कर सकता है!

क्लासेस के बारे में और जानें

यह केवल "हिमशैल का सिरा" है जब क्लासेस की बात आती है।

यदि आप अधिक सीखना चाहते हैं...

इन्हें पढ़ें:

  • रूबी initialize मेथड
  • Attr_accessor, attr_reader, attr_writer
  • OOP में इनहेरिटेंस
  • ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग

वैसे क्लासेस खुद भी ऑब्जेक्ट्स हैं, कम से कम रूबी में 🙂

सारांश

आपने रूबी में क्लासेस के बारे में सीखा, उन्हें कैसे बनाएं और वे क्यों उपयोगी हैं!

इस लेख को शेयर करना न भूलें ताकि अधिक लोग इसका आनंद ले सकें।

पढ़ने के लिए धन्यवाद।

  1. रूबी डीबगिंग में महारत: सामान्य त्रुटियों के लिए त्वरित सुधार रूबी डीबगिंग में महारत: सामान्य त्रुटियों के लिए त्वरित सुधार

    आपका प्रोग्राम पहली बार में कितनी बार वही करता है जो आप चाहते हैं? कई बार हमारे प्रोग्राम्स हमारी अपेक्षा के अनुसार काम नहीं करते, इसलिए हमें यह पता लगाने में मदद के लिए रूबी डीबगिंग की कला का उपयोग करना पड़ता है कि क्यों। आप निम्नलिखित त्रुटि संदेश से परिचित हो सकते हैं: undefined method some_metho

  1. अपना खुद का सीज़र सिफर एन्कोडर बनाएं: एक चरण-दर-चरण मार्गदर्शिका अपना खुद का सीज़र सिफर एन्कोडर बनाएं: एक चरण-दर-चरण मार्गदर्शिका

    क्या आपने कभी सीज़र सिफर के बारे में सुना है? जूलियस सीज़र ने इस तकनीक का उपयोग अपने दुश्मनों से गुप्त संदेश छिपाने के लिए किया था! सीज़र सिफर सबसे प्राचीन एन्क्रिप्शन तकनीकों में से एक है। इस प्रणाली के पीछे मुख्य विचार अक्षरों को घुमाना वर्णमाला पर x संख्या में स्थितियों द्वारा है। उदाहरण के लिए,

  1. अपना ब्राउज़र एक्सटेंशन बनाएं: नमूना प्रोजेक्ट के साथ चरण-दर-चरण गाइड अपना ब्राउज़र एक्सटेंशन बनाएं: नमूना प्रोजेक्ट के साथ चरण-दर-चरण गाइड

    इस लेख में हम ब्राउज़र एक्सटेंशन के बारे में बात करेंगे - वे क्या हैं, कैसे काम करते हैं, और आप अपना खुद का कैसे बना सकते हैं।हम अंत में अपना खुद का एक्सटेंशन (सुपर फन!) लिखेंगे जो हमें किसी भी कोड स्निपेट को एक क्लिक से क्लिपबोर्ड पर कॉपी करने की अनुमति देता है।इस लेख को जारी रखने के लिए:आपको जावास