CodeGym /جاوا بلاگ /Random-SD /جاوا طريقا
John Squirrels
سطح
San Francisco

جاوا طريقا

گروپ ۾ شايع ٿيل
جاوا اسٽور جي قيمتن ۾ متغير ۽ مستقل، جڏهن ته طريقن ۾ آپريٽرز جو هڪ سيٽ هوندو آهي جيڪي ڪجهه خاص ڪارناما انجام ڏيندا آهن. اهو آهي، جاوا ۾ طريقا شيون جي رويي کي طئي ڪن ٿا ۽ ڪجهه متغيرن تي ڪارناما انجام ڏين ٿا. اهي ڪارناما انجام ڏئي سگهن ٿا، انهي سان گڏ هڪ خاص نتيجو پيدا ڪري ٿو.

جاوا ۾ طريقا ڇا آهن؟

طريقا شيون جي رويي کي بيان ڪن ٿا ۽ حڪمن جو هڪ سلسلو آهي جيڪو توهان کي پروگرام ۾ ڪجهه آپريشن ڪرڻ جي اجازت ڏئي ٿو. ٻين پروگرامنگ ٻولين ۾، طريقن کي اڪثر "فنڪشن" طور حوالو ڏنو ويو آهي، ۽ صحيح طور تي. حقيقت ۾، هڪ طريقو رياضياتي معنى ۾ هڪ فنڪشن آهي. عام طور تي طريقي جي ان پٽ تي ڪا شيءِ فراهم ڪئي ويندي آهي (ڪجهه متغير)، اهي متغير حڪمن جي ترتيب سان پروسيس ڪيا ويندا آهن، ۽ پوءِ طريقو نتيجو پيدا ڪري ٿو. امڪان آهن ته توهان اڳ ۾ ئي طريقن سان اچي چڪا آهيو، گهٽ ۾ گهٽ عوامي جامد void main(String[] args) سان . اهو طريقو عام طور تي جاوا پروگرام جي عمل کي شروع ڪري ٿو.

جاوا ۾ طريقن جو اعلان ڪيئن ڪجي؟

جاوا ۾ سڀ طريقا ڪلاس اندر ٺهيل آهن. انهن کي هن ريت قرار ڏنو ويو آهي:
accessSpecifier ReturnType name (parameter list) {
//method body
}
مثال طور:
public int addTwoNumbers (int a, int b){

//method body
return}
جتي پبلڪ هڪ رسائي وضاحت ڪندڙ آهي، int هڪ متغير جو هڪ قسم آهي جيڪو طريقو واپس اچي ٿو، addTwoNumbers طريقو جو نالو آهي، a ۽ b طريقن جا پيرا ميٽر آهن. اچو ته ٿورو وڌيڪ تفصيل ۾ هڪ نظر وٺو. رسائي جي وضاحت ڪندڙ طريقي جي رسائي جي قسم کي بيان ڪرڻ لاء استعمال ڪيو ويندو آهي. اهي هن ريت ٿي سگهن ٿا:
  • عوامي : طريقي تائين رسائي ڪنهن به طبقي کان دستياب آهي.

  • نجي : رسائي ڪلاس ۾ موجود آهي جتي اها وضاحت ڪئي وئي هئي.

  • محفوظ : رسائي صرف پئڪيج جي اندر يا ٻئي پيڪيج ۾ ٻين ذيلي ڪلاسن ۾ موجود آهي.

  • ڊفالٽ : رسائي موجود آهي پيڪيج مان جتي اهو اعلان ڪيو ويو آهي. هن صورت ۾، لفظ "ڊفالٽ" نه لکيو ويو آهي.

واپسي جو قسم بيان ڪري ٿو قسم جو هي طريقو واپسي. مٿين مثال ۾، int واپسي جو قسم آھي. جيڪڏهن هڪ طريقو ڪجھ به نه موٽائي، واپسي جو قسم باطل آهي:
public void printSomething (String myString) {}
طريقي جو نالو توھان جي طريقي جو ھڪڙو منفرد نالو آھي. اسان هن آرٽيڪل ۾ ڪجهه دير بعد جاوا جي نالي جي ضابطن جي وضاحت ڪرڻ وارا آهيون. مٿين طريقن ۾ نالا آهن addTwoNumbers ۽ printSomething . پيرا ميٽر لسٽ دليلن جي فهرست آهي (ڊيٽا جو قسم ۽ متغير جو نالو) جيڪو طريقو وٺندو آهي. مٿين مثال ۾، "int a، int b" parameters آھن، ٻئي ۾، String myString ھڪڙو دليل آھي. توھان پڻ ھن فيلڊ کي خالي ڪري سگھو ٿا جيڪڏھن توھان نٿا چاھيو ته طريقي ۾ ڪي به پيرا ميٽر استعمال ڪريو.

طريقو پيٽرولر مثال

public void printSomething (String myParameter1, int myParameter2) {}
هتي ٻه متغير آهن، myParameter1 ۽ myParameter2 . اهي طريقا پيراگراف آهن. ھدايتن جو سيٽ آھي جيڪو گھڙيل ڪنگڻ ۾ بند ٿيل آھي جيڪو طريقو عمل ڪندو. جيڪڏهن طريقي جي واپسي جو قسم باطل نه آهي، واپسي لفظ لازمي طور تي موجود هجڻ گهرجي طريقي جي جسم ۾. واپسي جي پٺيان آهي دليل جي ذريعي اهو طريقو واپس اچي ٿو. تنهن ڪري، هڪ طريقو ٺاهڻ لاء، توهان کي بریکٹس سان گڏ ان جو نالو بيان ڪرڻ جي ضرورت آهي، ۽ بریکٹ ۾، جيڪڏهن ضروري هجي ته، متغير جيڪي طريقي سان هلندا. ان کان اڳ جو طريقو نالو پھچائڻ وارو آھي ۽ متغير جو ھڪڙو قسم آھي جيڪو طريقو موٽائي ٿو، يا باطل آھي جيڪڏھن طريقو ڪجھ به نه ٿو ڏئي. گھڙي گھڙي ۾، اسان اصل طريقو لکندا آھيون، ھدايتن جو ھڪڙو سلسلو جيڪو اڪثر ڪري طريقي جي دليلن سان ڪم ڪري ٿو. هتي هڪ طريقو جو هڪ مثال آهي جيڪو هڪ صف ۾ سڀ کان وڏو نمبر ڳولي ٿو ۽ ان کي واپس ڪري ٿو.
public int findBiggest(int[] numbers) {
   int max;
   max = numbers[0];
   for (int i = 1; i < numbers.length; i++) {
       if (max < numbers[i]) {
           max = numbers[i];
       }
   }
   return max;
}

هڪ طريقي جو نالو ڪيئن ڪجي؟

نالا رکڻ جي طريقن لاءِ ڪي به سخت قاعدا نه آھن، پر ھدايتون آھن جن تي توھان کي عمل ڪرڻ گھرجي جيڪڏھن توھان جاوا ۾ پروفيشنل طور ترقي ڪرڻ جو ارادو رکو ٿا. طريقن جا نالا اڪثر ڪري فعل آھن، مخلوط صورت ۾ لکيل آھن، ھڪڙي ننڍڙي اکر سان شروع ٿئي ٿو پر ھر ايندڙ لفظ (camelCase) لاء ھڪڙو وڏو خط استعمال ڪندي. هتي ڪجهه مثال آهن:
int addTwoNumbers (int a, int b)
void run()

هڪ طريقو ڪيئن سڏجي

ھڪڙي طريقي کي سڏڻ لاء، اھو ڪافي آھي ان جو نالو لکڻ ۽ لاڳاپيل متغير مقرر ڪريو جيڪڏھن اھي اعلان ۾ ھئا. اچو ته فون ڪريون FindBiggest طريقو کي مکيه طريقي ۾ :
public static void main(String[] args) {
  int[] array = new int[] {5, 7, -2, 6, 7, 1};
  int max = findBiggest(array);
   System.out.println("the biggest number in array is: " + max);
  }
هن پروگرام جي پيداوار آهي:
صف ۾ سڀ کان وڏو نمبر آهي: 7

جاوا ۾ طريقن جا مختلف قسم

جاوا ۾، هر شي شين مان ٺهيل آهي، ۽ شين جي رويي جي وضاحت ڪئي وئي آهي طريقن سان. روايتي طور تي، اسان اهو چئي سگهون ٿا ته جاوا اڳ ۾ بيان ڪيل ۽ صارف جي وضاحت ڪيل طريقا آهن. اڳواٽ بيان ڪيل طريقا طريقا آھن جيڪي طبقن ۾ شامل آھن جيڪي جاوا ٻولي جو حصو آھن.

اڳواٽ طئي ٿيل طريقا

اڳواٽ يا معياري لائبريري جا طريقا جاوا ۾ ٺهيل آهن. يقينا، هر پروگرامر انهن کي استعمال ڪري سگهي ٿو يا انهن کي مقامي طور تي انهن جي پروگرامن لاء تبديل ڪري سگهي ٿو. جاوا ڪلاس لائبريري جاوا آرڪائيو فائل ۾ واقع آهي (مثال طور، *jar) جاوا ورچوئل مشين (JVM) ۽ جاوا رن ٽائم ماحول سان. اهي ٿي سگهن ٿا، مثال طور، ميٿ ڪلاس جا طريقا جهڙوڪ min() ، max() يا abs() . يا اسٽرنگ مينيپوليشن طريقا جهڙوڪ concat() . اچو ته هڪ مکيه طريقي سان هڪ ڪلاس ٺاهيو ۽ ڪجهه معياري لائبريري طريقن کي سڏين.
import static java.lang.Math.max;

public class Test {

    public static void main(String[] args) {
       int a = 5;
       int b = 7;
       int max = max(a,b);
       System.out.println(max);
       String str1 = "I am ";
       String str2 = "here ";
       String str3 = str1.concat(str2);
       System.out.println(str3);


   }

}
نوٽ ڪريو ته رياضي ڪلاس جي طريقن کي استعمال ڪرڻ لاء ، ان کي پروگرام جي شروعات ۾ درآمد ڪيو وڃي. جيڪڏهن اهو نه ڪيو ويو آهي، توهان درجي جو نالو ڊٽ سان الڳ ڪيل طريقي جي نالي کان اڳ لکي سگهو ٿا:
int max = Math.max(a,b);

استعمال ڪندڙ بيان ڪيل طريقا

اهي طريقا پروگرامرز پاران ٺاهيا ويا آهن انهن جي منصوبن جي گهرجن لاءِ. دراصل، اسان اڳ ۾ ئي ٺاهي چڪا آهيون صارف جي وضاحت ڪيل findBiggest() طريقو مٿي. مضبوط ڪرڻ لاء، اچو ته هڪ ٻيو طريقو ٺاهيو جيڪو ڪجھ به واپس نه ٿو ڪري ۽ پيرا ميٽر نه آهي پر داخل ٿيل نالو جو جواب ڏئي ٿو ۽ هيلو چوي ٿو (يعني ڪنسول ڏانهن ٻاھر نڪتو).
import java.util.Scanner;

public class Test {

   public void repeater() {
       Scanner scanner = new Scanner(System.in);
       System.out.println("WHat should I repeat after you?...");
       String s =  scanner.nextLine();
       System.out.println(s);
   }
}

جاوا ۾ جامد طريقا ٺاهڻ

عام طور تي، جاوا ۾ طريقا شيون جا طريقا آهن. ھڪڙي طريقي کي سڏڻ لاء، توھان کي ڪلاس جو ھڪڙو مثال بڻائڻ جي ضرورت آھي جتي ھن طريقي جي وضاحت ڪئي وئي آھي. بهرحال، اتي جامد طريقا پڻ آهن. اهي باقاعده ماڻهن کان مختلف آهن ته اهي هڪ طبقي سان ڳنڍيل آهن، نه هڪ اعتراض. جامد طريقي جي هڪ اهم ملڪيت اها آهي ته اهو صرف جامد متغيرن / طريقن تائين رسائي ڪري سگهي ٿو. اهي جامد لفظ استعمال ڪندي بيان ڪيا ويا آهن. تنهن ڪري، رياضي ڪلاس ۾ ، متغيرن سان ڪم ڪرڻ جا سڀ طريقا جامد آهن. اسان ميٿ ڪلاس وانگر ڪا شيءِ ٺاهي سگھون ٿا ۽ ان ۾ ڪيترائي جامد طريقا گڏ ڪري سگھون ٿا جيڪي ڪنٽيننگ ڪلاس جو مثال ٺاھڻ کانسواءِ استعمال ڪري سگھجن ٿيون. اچو ته ان کي نمبر سڏين .
import java.util.ArrayList;
import java.util.List;
import java.util.stream.IntStream;


public class Numbers {


   public static int findMax(int left, int right) {
       return (left < right) ? right : left;

   }


   public static boolean isNegative(int number) {
       return number < 0;
   }

   public static long power(long number, int deg) {

       if (deg == 0) {
           number = 1;
           return number;
       } else {
           number = power(number, deg - 1) * number;
           return number;
       }
   }

   public static long abs(long number) {
       return number > 0 ? number : -number;
     }


    public static void main(String[] args) {

       int a = 5;
       int b = 7;
       long c = -7;
       long abs = abs(c);
       System.out.println(abs);
       System.out.println(findMax(a,b));

   }

}
پروگرام جو نتيجو هتي آهي:
7 7
پهرين، هڪ طريقو سڏيو ويندو آهي جيڪو انگن جي مطلق قيمت کي ڏسي ٿو، ۽ پوء هڪ طريقو جيڪو ٻن انگن جي وڏي کي ڳولي ٿو. توھان کي انھن طريقن کي سڏڻ لاءِ نمبر ڪلاس جو ھڪڙو مثال ٺاھڻ جي ضرورت نه آھي ڇو ته ٻئي طريقا جامد طور بيان ڪيا ويا آھن.

جاوا ڪوڊ ۾ مثالي طريقا لاڳو ڪرڻ

مثال جي طريقن يا باقاعده طريقن کي سڏيو وڃي ٿو ڪلاس جي مثال تي جنهن ۾ طريقو بيان ڪيو ويو آهي.
public class Cat implements Voice{
   String name;
   String breed;
   int year;


   public void talk() {
       System.out.println("meow meow");
   }
}
Talk() طريقي کي سڏڻ لاءِ ، توھان کي Cat class جو ھڪڙو مثال بڻائڻو پوندو :
public class Demo {
   public static void main(String[] args) {
       Cat cat = new Cat ();
       cat.talk();

   }
}
هن پروگرام جي پيداوار هتي آهي:
ميوو ميوو

جاوا ۾ خلاصو طريقا

جاوا ۾ تجريدي طريقا طريقا آھن جن تي عمل درآمد نه آھي. اهو آهي، انهن ۾ ڪوڊ شامل ناهي جڏهن اهو اعلان ڪيو ويو آهي. انهن کي صرف تجريدي طبقن ۾ بيان ڪري سگهجي ٿو ۽ انهن جي غير تجريدي اولاد ۾ لاڳو ڪري سگهجي ٿو. اچو ته ھڪڙو خلاصو ڪلاس ٺاھيون ھڪڙي خلاصي طريقي سان myMethodAdd() .
abstract class DemoAbs {
   abstract void myMethodAdd();
}
ھاڻي اچو ته ھن خلاصي طبقي جو ھڪڙو ٻاراڻو ڪلاس ٺاھيون، DemoAbs . هتي اسان کي لازمي طور تي لاڳو ڪرڻ گهرجي myMethodAdd() طريقو.
public class myClass extends DemoAbs {

   void myMethodAdd() {
       System.out.println("hello");
   }

   public static void main(String[] args) {
       DemoAbs demoAbs = new myClass();
       demoAbs.myMethodAdd();
   }
}

ميٿڊ ڪالز لاءِ ميموري مختص

اھو ھڪڙو پيچيده موضوع آھي جيڪو وڌيڪ محتاط تجزيو جي ضرورت آھي. هتي اسان موضوع سان هڪ سطحي واقفيت لاء صرف سڀ کان بنيادي ذڪر ڪرڻ وارا آهيون. JVM ياداشت تي مشتمل آهي هيپ ۽ اسٽيڪ علائقن. هيپ ياداشت جو هڪ علائقو آهي جيڪو جاوا شين کي محفوظ ڪري ٿو. اسٽيڪ ميموري ميموري جو هڪ عارضي علائقو آهي جيڪو ذخيرو ڪري ٿو پرائمري متغير ۽ طريقن جي شين جا حوالا. اسٽيڪ ياداشت ۾ مختصر-رهندڙ قدر شامل آهن جيڪي طريقي تي منحصر آهن. هن قسم جي ميموري Last In First Out (LIFO) اصول تي ٻڌل آهي. اسٽيڪ ميموري هڪ نئون بلاڪ ٺاهي ٿو جڏهن اسان هڪ طريقو سڏين ٿا. اهو مقامي ابتدائي قدرن تي مشتمل آهي. جڏهن اسان هڪ طريقو ختم ڪريون ٿا، اسٽيڪ ميموري ۾ ٺهيل بلاڪ آزاد ٿي ويندو آهي.

نتيجو

هن آرٽيڪل ۾، اسان جاوا ٻولي ۾ طريقا ٺاهڻ جي بنيادي ڳالهين سان واقف ٿي چڪا آهيون، انهي سان گڏ جاوا ۾ ڪهڙا طريقا آهن ۽ انهن سان ڪيئن ڪم ڪجي. اسان سکيو ته طريقا طبقن جي رويي کي طئي ڪن ٿا. طريقن جي بغير اهو ناممڪن هوندو ته شيون هڪ ٻئي سان لهه وچڙ ۾. جيڪو توهان سکيو ان کي مضبوط ڪرڻ لاءِ، اسان توهان کي اسان جي جاوا ڪورس مان هڪ وڊيو سبق ڏسڻ جي صلاح ڏيون ٿا
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION