CodeGym /جاوا بلاگ /Random-UR /جاوا کے طریقے
John Squirrels
سطح
San Francisco

جاوا کے طریقے

گروپ میں شائع ہوا۔
جاوا اسٹور کی قدروں میں متغیرات اور مستقل، جبکہ طریقوں میں آپریٹرز کا ایک سیٹ ہوتا ہے جو کچھ مخصوص اعمال انجام دیتے ہیں۔ یعنی جاوا میں طریقے اشیاء کے رویے کا تعین کرتے ہیں اور کچھ متغیرات پر عمل کرتے ہیں۔ وہ اعمال انجام دے سکتے ہیں، ساتھ ہی ایک خاص نتیجہ بھی نکال سکتے ہیں۔

جاوا میں طریقے کیا ہیں؟

طریقے اشیاء کے رویے کی وضاحت کرتے ہیں اور یہ حکموں کا ایک سلسلہ ہے جو آپ کو پروگرام میں کچھ آپریشن کرنے کی اجازت دیتا ہے۔ دیگر پروگرامنگ زبانوں میں، طریقوں کو اکثر "فنکشنز" کہا جاتا ہے، اور بجا طور پر۔ درحقیقت، ایک طریقہ ریاضیاتی معنوں میں ایک فعل ہے۔ عام طور پر طریقہ کے ان پٹ (کچھ متغیرات) کو کچھ فراہم کیا جاتا ہے، ان متغیرات کو حکموں کی ترتیب سے پروسیس کیا جاتا ہے، اور پھر طریقہ نتیجہ پیدا کرتا ہے۔ امکانات یہ ہیں کہ آپ پہلے ہی طریقوں سے آ چکے ہوں گے، کم از کم پبلک static 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" پیرامیٹرز ہیں، دوسری میں، 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;
}

طریقہ کا نام کیسے رکھا جائے؟

نام دینے کے طریقوں کے لیے کوئی سخت اصول نہیں ہیں، لیکن ایسی ہدایات موجود ہیں جن پر آپ کو عمل کرنا چاہیے اگر آپ جاوا میں پیشہ ورانہ طور پر ترقی کرنے کا ارادہ رکھتے ہیں۔ طریقہ کے نام اکثر فعل ہوتے ہیں، جو مخلوط صورت میں لکھے جاتے ہیں، چھوٹے حروف سے شروع ہوتے ہیں لیکن ہر آنے والے لفظ (کیمل کیس) کے لیے بڑے حرف کا استعمال کرتے ہیں۔ یہاں کچھ مثالیں ہیں:
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
سب سے پہلے، ایک طریقہ کہا جاتا ہے جو نمبر کی مطلق قدر کو دیکھتا ہے، اور پھر ایک طریقہ جو دو نمبروں میں سے بڑے کو تلاش کرتا ہے. ان طریقوں کو کال کرنے کے لیے آپ کو نمبرز کلاس کی مثال بنانے کی ضرورت نہیں ہے کیونکہ دونوں طریقے جامد کے طور پر بیان کیے گئے ہیں۔

جاوا کوڈ میں مثال کے طریقوں کا اطلاق کرنا

مثال کے طریقوں یا باقاعدہ طریقوں کو اس کلاس کی مثال پر بلایا جاسکتا ہے جس میں طریقہ کی وضاحت کی گئی ہے۔
public class Cat implements Voice{
   String name;
   String breed;
   int year;


   public void talk() {
       System.out.println("meow meow");
   }
}
Talk() طریقہ کو کال کرنے کے لیے ، آپ کو کیٹ کلاس کی ایک مثال بنانے کی ضرورت ہے :
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