Skip to main content

Java Methods

Introduction to Java Methods 

कई बार ऐसा होता है की कोई एक काम या कोई एक task आपको program में कई जगह perform करना होता है। यदि आप इस काम को बिना methods के करेंगे तो आपको एक ही code बार बार कई जगह पर लिखना पड़ेगा। इसके बजाय यदि आप एक ऐसा method बना ले जो इस operation को perform करता है।
ऐसा करने से आपको एक ही code बार लिखने की जरुरत नहीं है। आप प्रोग्राम में जँहा भी वह task perform करना चाहते है, उस जगह उस method को call कर सकते है। 
Method basically एक block of statements होता है। ये block एक particular operation perform करता है। इस operation को आप program में जँहा भी perform करना चाहते है वँहा method का नाम लिखकर उसे call करते है। और compiler उस जगह method को execute कर देता है। 
Java में methods का बेहतरीन उदाहरण println() method है। क्या आप बता सकते है की किसी जावा program में आपको इस method की कितनी बार आवश्यकता पड़ती है?? जी हाँ बहुत बार पड़ती है। ये method असल में java library में define किया गया है।
इस method का काम ये होता है की आप इसके कोई भी string पास करके उसको screen पर print करवा सकते है। साथ ही आप इस method में variables को pass करके उनकी values भी print करवा सकते है। जब भी आपको इस method की जरुरत होती है तो आप इसको call करते है और इसमें string या variables पास करते है। और ये method उसी जगह पर execute होता है।
यदि आप java library में इस method की definition देखेंगे तो पाएंगे की आप उस code बार बार अपने program में नहीं लिख सकते है। और यदि आप उस code को यूज़ करते है तो आपका पहला hello world program 10 line से ज्यादा का हो जायेगा। 
Methods program में code को reduce करने और computer की memory बचाने का अच्छा माध्यम है। साथ ही methods के प्रयोग से programmers को भी same code बार बार नहीं लिखना पड़ता है। इससे programmers का time बचता है।

Structure of Method Definition 

access_specifier return_type method_name (parameters list)
{
  //  statements to be executed
}
 Syntax  Explanation 
access specifier
Access specifier show करता है की ये method किस तरह का है। जैसे की private, public या protected आदि।     
return type
Method का execution होने के बाद method result के रूप में किस तरह की value return करेगा ये आप यँहा define करते है। यदि आपका method कोई value return नहीं करता है तो आप यँहा पर void लिखते है।    
method name
ये method का नाम होता है। ये पुरे program में unique होना चाहिए।    
parameters list
ये वो variables या values होती है जो आप method को call करते समय pass करते है। Method पर operation perform करता है और result return करता है। या फिर अपने execution के लिए इनका उपयोग करता है। जैसे यदि आप कोई addition का method बनाये तो उसमे 2 numbers pass कर सकते है जिनको को add करके method आपको result return करेगा। आप values और variables को comma से separate करते है।       
     

Structure of Method Call 

If in the same class
If in another class
methodName(arg1,arg2….);
objectName.methodName(arg1,arg2);

Example of Java Methods 

class PersonsInfo
{
   public void Separator()// our method which separates
information of persons
   {
       
System.out.println(“—————————————————————————–“);
   }
    public static void main(String args[])
    {
       
System.out.println(“Name :  Juli   Age : 23”);
        Separator();
       
System.out.println(“Name :  Sam    Age:24”);
       
Separator();    
       
System.out.println(“Name :  Teri   Age : 23”);
        Separator();
       
System.out.println(“Name :  Brian       Age:24”);
     }

Method Overloading 

जब आप बड़े software’s develop करते है तो ऐसा अक्सर होता है की आपके program में एक सा काम करने वाले कई methods होते है। इन सभी methods का नाम याद रखना और उन्हें यूज़ करना बड़ा मुश्किल हो जाता है। जैसे की आप अलग अलग तरह के data को add करना चाहते है तो उसके लिए आप अलग अलग methods बनाएंगे।
फिर उन methods को यूज़ करने के लिए आपको उनका नाम भी memorize करना होगा। किसी छोटे से program में ऐसा आप आसानी से कर सकते है। लेकिन जब आप कोई बड़ा software develop कर रहे हो तो सभी methods के नाम आप याद नहीं कर सकते है। इस situation में आप method overloading यूज़ कर सकते है।
Method overloading में जो methods एक जैसा task perform कर रहे है उन सबको आप एक ही नाम देते है। जैसे की अलग अलग addition के methods addition ही कर रहे है। लेकिन कोई integer को add कर रहा है तो तो कोई double को add कर रहा है।
इन सबका एक ही नाम दिया जाता है। अब आप पूछ सकते है की यदि एक जैसा नाम रखेंगे तो compiler को पता कैसे चलेगा की आप कोनसा method call करना चाहते है।
इन सभी methods का नाम same होता है। लेकिन इन methods में parameter types और उनकी संख्या अलग अलग होती है। जिससे compiler इन्हे run time पर ये पता चल जाता है की कोनसा method execute करना है। जिस method से arguments match हो जाते है वही method execute हो जाता है।

Example 

public class overDemo
{
     public static int sum(int  a, int b)
    {
        return a+b;
    }
    public static int sum(double
x, double y)
    {
       return x+y;
    }
   
    public static void
main(String args [])
    {
         
System.out.println(sum(3,5));
         
System.out.println(sum(3.5,5.3));
    }
}
         
ऊपर दिए गए example में 2 sum methods है। एक sum() method integers को add करता है और दूसरा double values को add करता है। Method call के दौरान यदि sum() method में integers pass करते है तो integers वाला sum() method execute होगा। और यदि double values pass करते है तो double वाला sum() method execute होगा।         

 

जब आप किसी class को inherit करते है तो आप उसके सारे methods को access कर सकते है। लेकिन क्या हो यदि किसी method की definition आपकी sub class के according नहीं है। या फिर आप उस method में कुछ change करना चाहते है।
यदि ऐसा है तो आप super class के किसी भी method को subclass में दुबारा define कर सकते है। आप उस method को edit कर सकते है ताकि वो sub class के लिए work कर सके। इसे method overriding कहते है।   
Method overriding में subclass superclass वाला method यूज़ नहीं करना चाहती है और वो खुद उस method को edit करके यूज़ करना चाहती है। ऐसा करके वो super class के method को override करती है।
उदाहरण के लिए यदि एक class है Area और उसमे display() method है। इस class को Circle class inherit कर रही है। Circle class Area class के display method को यूज़ करने की बजाय उस method को Circle class की आवश्यकता के अनुसार edit कर सकती है।
इसी प्रकार यदि इसी Area class को एक rectangle class inherit करती है तो वो भी display() method को खुद की आवश्यकता के अनुसार बदल कर वापस define कर सकती है।
जब आप किसी method को override करते है तो आपको 2 बाते याद रखनी चाहिए।
  • Super class के method का और subclass के method का नाम same होगा। 
  • Subclass की parameter list superclass की parameter list से match होनी चाहिए। 

Example 

class Area
{
      public 
void display()
      {
           System.out.println(“Displaying
area……..”);
      }
}
class
circle extends Area
{
     public void display()
     {
           System.out.println(“Displaying
circle…….”);
     }
     public static void main(String args[])
     {
            Area obj = new Area();
            obj.display();
           
           this.display();
     }
}

Comments

Popular posts from this blog

Java Inheritance Introduction to Java Inheritance  Inheritance का ऐसा Machanisam है जिसमे एक old class से new class create किया जाता हे इस के द्वारा old class की properties को new class में प्रयोग किया जाता हे old class की properties को new class में प्रयोग करने के लिए old class की inherit करना होता है| और class को inherit करने के लिए derivation public, private and protected का प्रयोग किया जाता है|  inheritance में old class को base class या parent class or super class कहा जाता है, जिस class की property ली जाती है| और नई class को child class या derive class या sub class कहा जाता है, जिस class के द्वारा property ली जाती है| ऐसा करने के लिए जो class methods को access करना चाहती है उसे दूसरी class की sub class बनना होगा। Sub class बनने के लिए आपकी class को उस दूसरी class को extend करना होगा। इसे ही inheritance कहते है।  Inheritance से आप एक ही code को बार बार लिखने की उलझन से बच जाते है। Inheritance की इस खूबी को re-usability कहते है। यान...
Java Applets  Introduction to Java Applets  Applet एक java program होता है जो browser में run होता है। ये एक ऐसा प्रोग्राम होता है जो HTML के साथ काम कर सकता है। इसे HTML code में ही include कर लिया जाता है। Java program की file और HTML program की files अलग अलग होती है। HTML में java program को load करने के लिए आप <applet> tag यूज़ करते है। जब कोई भी यूज़र इस HTML पेज को browser पर देखता है तो HTML के साथ java program भी load हो जाता है। लेकिन इसके लिए आपको applet (java program) को और HTML file को एक ही server पर save करना पड़ता है।  Applet ऐसा java program होता है जो Applet class को extend करता है। Applet program को .class extension से save किया जाता है। जब कोई यूज़र browser में applet को देखता है तो applet का code उस user की machine में download हो जाता है। पहले applet का code user की machine में download होता है फिर applet browser में रन होता है। इसलिए आप कह सकते है की applets client side applications होती है।Applets को run होने के लिए...
Introduction to C Arrays  मान लीजिये आप एक ऐसा प्रोग्राम बना रहे है जो employees का नाम computer में store करता है। अब मान लीजिये आपकी company में 200 employees है। आप इन 200 employees के नाम किस तरह से store करेंगे। यदि आप सोच रहे है की आप 200 variables create करेंगे तो ये एक बहुत ही complex approach होगी।  इसमें आपको program बनाने में बहुत समय लग जायेगा और program भी हद से ज्यादा बड़ा हो जायेगा। ये आपके time और computer memory space दोनों का wastage है। और साथ ही आप इतने सारे variables के नाम सोच भी नहीं सकते है और यदि सोच भी लेंगे तो program में यूज़ करने के लिए उन्हें याद तो definitely नहीं रख सकते है।   मेरे पास आपके लिए इससे भी better approach है और उस approach को C language में array कहते है। Array similar type की values का collection होता है। Similar type से यँहा मेरा मतलब एक ही तरह के data type जैसे की int, float, char आदि की values से है।   C आपको arrays के द्वारा ऐसी facility provide करती है की...