कोटलिन एक्सटेंशन फ़ंक्शन (उदाहरणों के साथ)

विषय - सूची

इस लेख में, आप विस्तार कार्यों का उपयोग करके एक वर्ग को नई कार्यक्षमता के साथ विस्तारित करना सीखेंगे।

मान लीजिए, आपको नई कार्यक्षमता के साथ एक वर्ग का विस्तार करने की आवश्यकता है। अधिकांश प्रोग्रामिंग भाषाओं में, आप या तो एक नया वर्ग प्राप्त करते हैं या ऐसा करने के लिए किसी प्रकार के डिज़ाइन पैटर्न का उपयोग करते हैं।

हालांकि, कोल्टिन में, आप नई कार्यक्षमता के साथ एक वर्ग का विस्तार करने के लिए एक्सटेंशन फ़ंक्शन का भी उपयोग कर सकते हैं। मूल रूप से, एक विस्तार फ़ंक्शन एक वर्ग का एक सदस्य कार्य है जिसे कक्षा के बाहर परिभाषित किया गया है।

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

उदाहरण: स्ट्रिंग का पहला और अंतिम वर्ण निकालें

 fun String.removeFirstLastChar(): String = this.substring(1, this.length - 1) fun main(args: Array) ( val myString= "Hello Everyone" val result = myString.removeFirstLastChar() println("First character is: $result") )

जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:

 पहला पात्र है: एलो एवरीन

यहां, क्लास ()में एक एक्सटेंशन फंक्शन रिमूवल FFirstLastChar जोड़ा जाता है String

कक्षा का नाम रिसीवर प्रकार ( Stringहमारे उदाहरण में वर्ग) है। thisकीवर्ड विस्तार समारोह के अंदर रिसीवर वस्तु संदर्भित करता है।

यदि आपको जावा प्रोजेक्ट के शीर्ष पर कोटलिन को एकीकृत करने की आवश्यकता है, तो आपको पूरे कोड को कोल्टिन में संशोधित करने की आवश्यकता नहीं है। कार्यात्मकताओं को जोड़ने के लिए बस विस्तार कार्यों का उपयोग करें।

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

  • क्या विस्तार के तरीके और विस्तार गुण खराब हैं?
  • कोटलिन विस्तार कार्यों का दुरुपयोग कैसे करें?

दिलचस्प लेख...