logo

توقيع طريقة جافا

في برمجة Java، يشير توقيع الطريقة إلى المعرف الفريد للطريقة. وهو يتألف من اسم الطريقة وقائمة المعلمات الخاصة بها. يساعد التوقيع على تمييز طريقة عن أخرى ويسمح لمترجم Java بمطابقة استدعاءات الطريقة مع التعريفات المقابلة لها. يتضمن توقيع الطريقة المكونات التالية:

    اسم الطريقة:إنه الاسم المعطى للأسلوب، والذي يجب أن يكون معرف Java صالحًا ويتبع اصطلاحات التسمية. يجب أن يكون اسم الطريقة وصفيًا ويعكس الوظيفة التي تؤديها.قائمة المعلمات:يحدد المعلمات أو الوسائط التي تتوقع الطريقة تلقيها عند استدعائها. تتكون كل معلمة في القائمة من نوع المعلمة واسمها. يتم فصل المعلمات المتعددة بفواصل. إذا كانت الطريقة لا تتطلب أي معلمات، فسيتم استخدام قائمة معلمات فارغة. على سبيل المثال:
 public void methodName() {} 

إذا كانت الطريقة تحتوي على معلمات، فإن التوقيع يتضمن أنواع المعلمات وأسماءها:

اسم طريقة الفراغ العام (int param1، String param2) {}

بيض عيد الفصح في الروبوت
    نوع الإرجاع:فهو يحدد نوع بيانات القيمة التي ترجعها الطريقة. إذا لم تُرجع الطريقة أي قيمة، فسيتم تحديد نوع الإرجاع على أنه فارغ. إذا قامت بإرجاع قيمة، فيجب أن يتطابق نوع الإرجاع مع نوع بيانات القيمة التي تم إرجاعها. على سبيل المثال:
 public int methodName() {} 

إذا قامت إحدى الطرق بإرجاع مصفوفة أو كائن، فإن نوع الإرجاع يمثل نوع المصفوفة أو فئة الكائن الذي تم إرجاعه. إن الجمع بين اسم الطريقة وقائمة المعلمات يحدد الطريقة بشكل فريد داخل الفئة. تدعم Java التحميل الزائد للطرق، مما يعني أنه يمكنك تحديد طرق متعددة بنفس الاسم ولكن بقوائم معلمات مختلفة. الأساليب المحملة بشكل زائد لها توقيعات مختلفة، مما يسمح للمترجم بتحديد الطريقة المناسبة للتنفيذ بناءً على الوسائط المتوفرة. من المهم ملاحظة أن توقيع الطريقة لا يتضمن معدّل الوصول الخاص بالطريقة (مثل العام أو الخاص أو المحمي) أو المعدلات الأخرى (مثل الثابتة أو النهائية). تحدد هذه المعدلات رؤية الطريقة وسلوكها ولكنها لا تعتبر جزءًا من التوقيع.

    معدّلات الوصول:على الرغم من أنها لا تعتبر جزءًا من توقيع الطريقة، إلا أن معدلات الوصول مثل العامة أو الخاصة أو المحمية تحدد إمكانية رؤية الطريقة. وهي تحدد من أين يمكن الوصول إلى الطريقة. على سبيل المثال، يمكن الوصول إلى الطريقة العامة من أي فئة، بينما لا يمكن الوصول إلى الطريقة الخاصة إلا داخل نفس الفئة.الصفات التعريفية:بالإضافة إلى معدّلات الوصول، يمكن أن تحتوي الأساليب على معدّلات أخرى مثل ثابتة أو نهائية أو مجردة أو متزامنة، والتي تحدد السلوكيات والقيود المختلفة للطريقة. لا تؤثر هذه المعدلات أيضًا على توقيع الطريقة.الاستثناءات:إذا طرحت إحدى الطرق استثناءً واحدًا أو أكثر، فهي جزء من توقيع الطريقة. يتم الإعلان عن الاستثناءات في توقيع الطريقة باستخدام الكلمة الأساسية throws، متبوعة بقائمة أنواع الاستثناءات. يشير هذا إلى أنه من المحتمل أن تقوم الطريقة بطرح هذه الاستثناءات أثناء تنفيذها. على سبيل المثال:
 public void methodName() throws IOException, IllegalArgumentException {} 
    طريقة التحميل الزائد:تدعم Java التحميل الزائد للطرق، والذي يسمح لك بتعريف طرق متعددة بنفس الاسم ولكن بقوائم معلمات مختلفة. تحتوي الأساليب المحملة بشكل زائد على توقيعات فريدة تعتمد على عدد المعلمات الخاصة بها ونوعها وترتيبها. نوع الإرجاع وحده لا يكفي للتمييز بين الأساليب المحملة بشكل زائد. على سبيل المثال:
 public void methodName(int param1) {} public void methodName(int param1, int param2) {} public void methodName(String param1) {} 
    نوع الإرجاع:لا يعد نوع الإرجاع جزءًا من توقيع الطريقة عند النظر في التحميل الزائد للطريقة. ومع ذلك، إذا كانت هناك طريقتان لهما نفس الاسم وقائمة المعلمات ولكنهما يختلفان في نوع الإرجاع، فسيؤدي ذلك إلى حدوث خطأ في الترجمة. لا تسمح Java بالتحميل الزائد للطريقة بناءً على نوع الإرجاع فقط.فارارج:تدعم Java الوسائط ذات الطول المتغير، والمعروفة أيضًا باسم varargs، في معلمات الطريقة. تسمح لك المعلمة varargs بتمرير عدد متغير من الوسائط من نفس النوع إلى إحدى الطرق. تتم الإشارة إلى المعلمة varargs بواسطة علامة القطع (...) بعد نوع المعلمة. على سبيل المثال:
 public void methodName(int... numbers) {} 

باستخدام varargs، يمكننا استدعاء الطريقة بأي عدد من وسائط int، بما في ذلك الصفر.

يعد فهم توقيعات الطريقة أمرًا ضروريًا عند العمل مع استدعاءات الطريقة، أو تنفيذ الواجهات، أو توسيع الفئات، أو استخدام الانعكاس. فهو يضمن استدعاء الطريقة الصحيحة ويوفر طريقة متسقة لا لبس فيها لتحديد الأساليب في برامج Java.