طرق في جافا
عندما تبدأ البرمجة في Java ، يجب أن تعلم أن هناك العديد من المفاهيم الجديدة التي يجب تعلمها: الفئات والأساليب والاستثناءات والمنشئات والمتغيرات والمزيد ، ويمكن أن تصبح ساحقة. لذلك ، من الأفضل أن تتعلم ببطء. في هذه المقالة ، سنقوم بما يلي: طرق الدراسة وكيفية استدعاء طريقة في Java.
طريقة Java تعادل وظيفة في لغة C تشمل مجموعة من العمليات في كتلة واحدة الغرض منها هو تحسين وتقليل التعليمات البرمجية. يمكن استدعاء هذه الطريقة من طرق أخرى وعندما يتم استدعاؤها ، سيتم أيضا استدعاء جميع الطرق الموجودة داخل هذه الطريقة وتنفيذها. على سبيل المثال، عند استدعاء System.out.println() ، يقوم النظام بإجراء العديد من العمليات فقط لعرض رسالة في وحدة التحكم.
الآن ستتعلم كيفية إنشاء أساليبك الخاصة مع أو بدون عوائد ، واستدعاء طريقة مع أو بدون معلمات ، وتحسين تجريد التعليمات البرمجية في طريقة.
طريقة Java تعادل وظيفة في لغة C تشمل مجموعة من العمليات في كتلة واحدة الغرض منها هو تحسين وتقليل التعليمات البرمجية. يمكن استدعاء هذه الطريقة من طرق أخرى وعندما يتم استدعاؤها ، سيتم أيضا استدعاء جميع الطرق الموجودة داخل هذه الطريقة وتنفيذها. على سبيل المثال، عند استدعاء System.out.println() ، يقوم النظام بإجراء العديد من العمليات فقط لعرض رسالة في وحدة التحكم.
الآن ستتعلم كيفية إنشاء أساليبك الخاصة مع أو بدون عوائد ، واستدعاء طريقة مع أو بدون معلمات ، وتحسين تجريد التعليمات البرمجية في طريقة.
إنشاء طريقة
دعونا نفكر في المثال التالي لفهم بنية الطريقة: < / div>
< pre class = "prettyprint lang-java" > int int العامة الثابتة اسم الطريقة (int a ، int b) {
// جسم الطريقة
int sum = a + b ؛
مبلغ العائد ؛
}
< pre class = "prettyprint lang-java" > int int العامة الثابتة اسم الطريقة (int a ، int b) {
// جسم الطريقة
int sum = a + b ؛
مبلغ العائد ؛
}
- الكلمة الرئيسية public يعني أن الطريقة نفسها يمكن أن تكون يتم استدعاؤه من أي كتلة أو فئات مختلفة أو حتى حزم مختلفة طالما قمت باستيراد فئة الاتصال. هناك ثلاث كلمات رئيسية أخرى يمكن أن تحل محل عام< / امتداد>. هذه هي محمي < / سبان> و < نمط الامتداد = "عائلة الخط:" ساعي جديد" , " ساعي" ، حافلة صغيرة؛" >خاص< / امتداد>. إذا كانت الطريقة محمي < / سبان> ، عندها فقط يمكن لهذه الفئة والطبقات الدنيا التي ترث منها استدعاء الطريقة. إذا كانت الطريقة خاص< / سبان> ، ثم يمكن للطريقة أن تكون دعا فقط داخل الفصول الدراسية. < / div>
- الكلمة الرئيسية الثانية ، static يعني أن الطريقة تنتمي إلى فئة ومثيل الفئة (الكائن). نمط static< / span> باستخدام اسم الفئة: "exampleClass.ExampleMethod () < / span >". ومع ذلك ، إذا كانت الكلمة الأساسية ثابت < / سبان> غير موجود ، لذلك لا يمكن استدعاء الطريقة إلا من خلال كائن. إذا كان الفصل يحتوي على منشئ (لإنشاء كائنات) ، فيمكنك إنشاء مثيل للفئة عن طريق كتابة exampleObject obj = جديد مثالكائن (); < / span > ، واستدعاء الطريقة ب "obj. مثالالطريقة (); < / span > ".
- < span style = "عائلة الخط:" ساعي جديد" , " ساعي" ، حافلة صغيرة؛" >int هو نوع الإرجاع للدالة ، وفي هذه الحالة يتم الإعلان عن الطريقة كدالة ترجع نتيجة عدد صحيح بعد إجراء المعالجة. الكلمة الأساسية لإرجاع النتيجة هي الإرجاع < / span >.
- int a ، int b < / span> هي قائمة المعلمات التي سيتم استخدامها داخل الطريقة ، على سبيل المثال نريد إجراء عملية إضافة a و b ووضع النتيجة في متغير مجموع سيتم إرجاعه كإخراج مع العبارة < span style = "عائلة الخط:" ساعي جديد" , " ساعي" ، حافلة صغيرة؛" >مبلغ العائد. < / span >.
مثال:
إليك رمز لمقارنة رقمين وجعل القيمة القصوى. تأخذ الدالة معلمتين nb1 و nb2 وترجع الحد الأقصى لكليهما:
< pre class = "prettyprint lang-java" > int max ثابت عام (int a ، int b) {
int max;
إذا(a> ب)
max=a؛
else
max = b ؛
العائد كحد أقصى ؛
}
- الكلمة الرئيسية الثانية ، static يعني أن الطريقة تنتمي إلى فئة ومثيل الفئة (الكائن). نمط static< / span> باستخدام اسم الفئة: "exampleClass.ExampleMethod () < / span >". ومع ذلك ، إذا كانت الكلمة الأساسية ثابت < / سبان> غير موجود ، لذلك لا يمكن استدعاء الطريقة إلا من خلال كائن. إذا كان الفصل يحتوي على منشئ (لإنشاء كائنات) ، فيمكنك إنشاء مثيل للفئة عن طريق كتابة exampleObject obj = جديد مثالكائن (); < / span > ، واستدعاء الطريقة ب "obj. مثالالطريقة (); < / span > ".
- < span style = "عائلة الخط:" ساعي جديد" , " ساعي" ، حافلة صغيرة؛" >int هو نوع الإرجاع للدالة ، وفي هذه الحالة يتم الإعلان عن الطريقة كدالة ترجع نتيجة عدد صحيح بعد إجراء المعالجة. الكلمة الأساسية لإرجاع النتيجة هي الإرجاع < / span >.
- int a ، int b < / span> هي قائمة المعلمات التي سيتم استخدامها داخل الطريقة ، على سبيل المثال نريد إجراء عملية إضافة a و b ووضع النتيجة في متغير مجموع سيتم إرجاعه كإخراج مع العبارة < span style = "عائلة الخط:" ساعي جديد" , " ساعي" ، حافلة صغيرة؛" >مبلغ العائد. < / span >.
مثال:
إليك رمز لمقارنة رقمين وجعل القيمة القصوى. تأخذ الدالة معلمتين nb1 و nb2 وترجع الحد الأقصى لكليهما:
< pre class = "prettyprint lang-java" > int max ثابت عام (int a ، int b) {
int max;
إذا(a> ب)
max=a؛
else
max = b ؛
العائد كحد أقصى ؛
}
الكلمة الرئيسية الباطلة
الكلمة void إلى أن الأسلوب لا يرجع أي شيء عند استدعاء الطريقة. إذا كنت تريد طريقة لإرجاع شيء ما ، فاستبدل الكلمة void حسب نوع بيانات الكائن الذي تريد إرجاعه. ثم أضف الكلمة return بالإضافة إلى الكائن.
في هذا المثال ، نعتبر إجراء يأخذ نمط int n كمعلمة ويطبع قائمة الأرقام من 1< / span> إلى عدد < / الامتداد>. هذه الطريقة من النوع باطل < / سبان> ولا يرجع قيمة.< / div>
< / div>
< / div>
public class main {
الفراغ الثابت العام الرئيسي (سلسلة [] args) {
print(5);
}
طباعة فارغة ثابتة عامة (int n) {
for (int i = 0 ؛ i < n ؛ i ++)
System.out.println (i) ؛
}
}
< / pre>وقت التشغيل :
< pre class = "prettyprint lang-java" >0
1
2
3
4
< / pre>< / div>لاحظ أن أسلوب System.out.println () < / span> لا يعيد أي شيء لأنه من النوع void.كيفية استدعاء طريقة< / h2 > لاستخدام طريقة ، تحتاج إلى تسميتها. هناك طريقتان يتم من خلالهما استدعاء الطريقة. معالجة استدعاء طريقة بسيطة. عندما يستدعي أحد البرامج أسلوبا، التحكم يكون نقل إلى الطريقة المسماة. بعد الانتهاء من الطريقة ، يتم إرجاع عنصر التحكم إلى المتصل بشرطين:
1- العبارة الإرجاع< / الامتداد> (الوظيفة) .
2- نصل إلى قوس الإغلاق دون إرجاع أي شيء (إجراء).
يمكنك استخدام ما ترجعه الدالة كما هو موضح في هذا المثال:
< pre class = "prettyprint lang-java" > public class main {
الفراغ العام الثابت الرئيسي (سلسلة [] args) {
int a ، b;
a = 5 ؛
b = 10 ؛
int النتيجة = المجموع (أ ، ب) ؛
System.out.println("a+b = "+result);
}
مجموع int ثابت عام (int a, int b){
إرجاع a+b;
}
}
< / pre>وقت التشغيل:
< pre class = "prettyprint lang-java" >a + b = 15
< / pre>تمرير المعلمات حسب القيمة < / h2 > يجب أن تتطابق الوسيطات التي يتم تمريرها تماما مع ترتيب المعلمات المعلنة في الطريقة. يمكن تمرير المعلمات حسب القيمة أو عن طريق المرجع.
تمرير المعلمات حسب القيمة يعني استدعاء طريقة باستخدام معلمة. يعرض البرنامج التالي مثالا على كيفية المرور حسب القيمة. تظل قيم الوسيطات كما هي بعد استدعاء الطريقة.public class main {
public static void main(String[] args) {
int a = 30;
int b = 45 ؛
System.out.println("قبل المبادلة (الرئيسية)، a = " + a
+ " b = " + b)؛
//استدعاء طريقة permute()
permute(a, b)؛
System.out.println("بعد المبادلة (الرئيسية)، a = " + a
+ " b = " + b)؛
}
فراغ ثابت عام (int a, int b) {
System.out.println("قبل التقليب (طريقة), a = " + a
+ " b = " + b);
// مبادلة أ مع ب< ب / > int c = a ؛
أ = ب ؛
b = c;
System.out.println("بعد المبادلة (الطريقة)، a = " + a
+ " b = " + b)؛
}
}
< / pre>وقت التشغيل:
< pre class = "prettyprint lang-java" >قبل المبادلة (الرئيسية) ، a = 30 b = 45
قبل المبادلة (الطريقة) ، a = 30 b = 45
بعد المبادلة (الطريقة) ، a = 45 b = 30
بعد المبادلة (اليد) ، أ = 30 ب = 45< br / >< / pre>طريقة التحميل الزائد في java< / h2 > عندما تحتوي الفئة على طريقتين أو أكثر بنفس الاسم ولكن معلمات مختلفة ، يعرف هذا باسم التحميل الزائد للطريقة. إنه يختلف عن التجاوز حيث يكون للطريقة نفس الاسم والنوع وعدد المعلمات وما إلى ذلك
دعنا نفكر في المثال الذي شوهد سابقا والذي يحدد الحد الأقصى بين عددين صحيحين. لنفترض أننا نريد تحديد الحد الأقصى لعدد النوع المزدوج. سيساعدنا مفهوم التحميل الزائد في إنشاء طريقتين أو أكثر بنفس الاسم ، ولكن معلمات مختلفة.public class main {
الفراغ الثابت العام الرئيسي (String[] args) {
int a, b;
a = 7 ؛
b = 8 ؛
System.out.println("max("+a+", "+ b+") = "+max(a, b));
مزدوج x ، y ؛
x = 1.5 ؛
y=4.2;
System.out.println("max("+x+", "+ y+") = "+max(x, y));
}
int max العام الثابت (int a, int b) {
int max;
إذا(a> ب)
max=a؛
else
max = b ؛
العائد كحد أقصى ؛
}
ثابت عام مزدوج كحد أقصى (مزدوج A ، مزدوج B) {
مزدوج كحد أقصى ؛
إذا(a> ب)
max=a؛
else
max = b ؛
العائد كحد أقصى ؛
}
}
< / pre>وقت التشغيل:
< pre class = "prettyprint lang-java" >max (7 ، 8) = 8
max (1.5 ، 4.2) = 4.2 < br / >< / pre> طريقة التحميل الزائد تجعل البرنامج قابلا للتكيف. هنا ، الطريقتان لهما نفس الاسم ، ولكن معلمات مختلفة. الحد الأقصى لعدد الأنواع الصحيحة والمزدوجة هو النتيجة.