हेल्लो दोस्तों ! आज के इस पोस्ट में आपको c# operator overloading in hindi के बारे में आपको बताया जा रहा है की क्या होता है कैसे काम करता है तो चलिए शुरू करते है
C# operator का overloading
- C# में operators को user को defined types जैसे की classes,structure आदि के साथ ही प्रयोग करने के लिए redefine करना operator overloading कहलाता है
- जैसे की आपको पता होता है की c# में operators को primitive types integer ,double आदि के साथ ही प्रयोग किया जाता है लेकिन c# में आपको इन operators को किसी user को defined type के सन्दर्भ में overload(redefine) करने की भी ability करने की भी ability को प्रोविडे करती है
- operators को overload करने का मुख्य उद्धेश्य user defined type के साथ perform होने वाले operations को simplify करना होता है example के लिए आप किसी class के object के साथ overloaded unary plus operator का प्रयोग करके आप आसानी से उसके सभी data को members की values को increase कर सकते है
- operators को overload करने के लिउ special operator overload method का प्रयोग किया जाता है इस method में आप operator को user को defined type के अनुरूप operation को perform करने के लिए code लिखते है
सभी c# में operators को overload नहीं किया जा सकता है लेकिन c# में operators की लिस्ट(list) आपको निचे दिया जा रहा है की जिन्हें overload नहीं किया जा सकता है
- [] array index operator
- () conversion operator
- && and || operator
- new operator
- is operator
- as operator
- = Equals operator
- . dot operator
- ?: condition operator
- -> pointer reference operator
उपर दिए जा रहे operators के आलावा बाकी सभी unary और binary c# में operators को overload किया जा सकता है
जब आप operators को overload करते है तो उनके basic functionality को change नहीं होती है example के लिए आप + operators को overload करके इसे subtraction को perform के लिए नहीं डिफाइन कर सकते है
overload किये जाने पर भी operators को primitive types के साथ basic functionality के साथ ही कार्य करते है यानी की जब + operator को दो integers के साथ ही प्रयोग किया जायेगा तो वह उनके addition को ही perform करेगा
c# operators overload method
operator overload method को operator symbol(+,- आदि ) के साथ ही डिफाइन किया गया है की एक special method होता है इस method में आप डिफाइन करते है तो की operator किसी user defined types के साथ ही प्रयोग किये जाने पर किस प्रकार से operation को perform करेगा
c# operator overload method का general syntax आपको निचे दिया जा रहा है
public static return-type operator-keyword operator-symbol(argument-list) { //code that redefine operator to work with a user defined type }
जैसा की आप उपर दिए गए syntax में आप देख सकते है की operator overload method हमेशा public और static को डिफाइन किया जाना चाहिए operator method का return type वह user डिफाइन type होता है जिसके लिए आप इस method को overload किया जाता है
operator method को define करने के लिए operator keyword का प्रयोग किया जाता है operator keyword के बाद वह operator symbol को डिफाइन किया जाता है जिसे आप overload करना चाहिए
निचे कुछ आपको बाते दी जा रही है जिनका आपको overload operator method define करते समय ध्यान रखना चाहिए
- operator overload method को हमेशा आप उस type के member के रूप में डिफाइन किया जाना चाहिए जिसका लिए आप operator को overload कर रहे है
- operator overload method की return value operation का रिजल्ट होती है
- operator overload method को void नहीं डिफाइन किया जा सकता है
जब आप किसी unary operator को overload करने के लिए operator method को डिफाइन करते है तो उसमे एक ही parameter को डिफाइन किया जाता है इसका syntax आपको निचे दिया जा रहा है
public static return-type operator-keyword operator-symbol(Arg1) { //code here }
जब आप किसी binary operator को overload करने के लिए operator method को डिफाइन करते है तो उसमे दो parameters को डिफाइन किये जाते है
public static return-type operator-keyword operator-symbol(Arg1,Arg2) { //code here }
example of c# operator overloading
C# में operator को overload करना आपको निचे example के द्वारा समझा जा सकता है
using System; class myClass { Public int Num1=10; Public int Num2=20; Public void display() { Console.WriteLine(“Num 1 is :{0}”,Num1); Console.WriteLine(“Num 2 is {0}”,Num2); } Public static myClass operator ++(myClass 0) { 0.Num1+=1; 0.Num2+=1; Return 0; } } Class myFinalClass { Static void Main(string[] args) { myClass obj=new myClass(); obj.display(); obj++; obj.display(); } }
उपर दिए गए example में आपको निचे दिया जा रहा आउटपुट generate करता है
Num1 is 10 Num2 is 20 Num1 is 11 Num2 is 21
reference-https://www.tutorialspoint.com/csharp/csharp_operator_overloading.htm
निवेदन:-आप सभी छात्र –छात्रों से निवेदन है की अगर आपको ये Topic(c# operator overloading in hindi) अच्छा लगा हो तो कृपया आप इस वेबसाइट के बारे में अपने दोस्तों को जरुर बताये अगर कोई topic(c# operator overloading in hindi) से संबधित प्रश्न हो तो कमेंट्स(comments) आपके लिए ही बना है और किसी Subject(csharp events in hindi) के लेकर भी कोई प्रश्न हो तो कमेंट क