استدعاء الإجراءات
| English | العربية |
|---|---|
| reusable/riːˈjuːzəbl/ | قابل لإعادة الاستخدام |
| procedure/prəˈsiːdʒə/ | إجراء |
| call/kɔːl/ | استدعاء |
| method/ˈmeθəd/ | دالة |
| arguments/ˈɑːɡjuːmənts/ | وسائط |
| parameters/pəˈræmɪtəz/ | المعاملات |
| return value/rɪˈtɜːn ˈvæljuː/ | قيمة الإرجاع |
| implementation/ˌɪmplɪmənˈteɪʃn/ | التنفيذ |
| abstraction/əbˈstrækʃn/ | التجريد |
كتل قابلة لإعادة الاستخدام
- الإجراء، أو ما يُعرف بـ الدالة أو الطريقة، هو كتلة من الكود القابلة لإعادة الاستخدام تحمل اسماً.
- تكتبه مرة واحدة وتستخدمه مرات عديدة.
- يمنح المهمة اسماً، بحيث يمكنك استدعاء تلك المهمة متى ما احتجت إليها.
- هذا هو جوهر مبدأ "لا تكرر نفسك".
الإجراء (دالة/طريقة) هو:
اكتبه مرة واحدة، استدعه مرات عديدة.
لتشغيل تعليمات إجراء من مكان آخر، أنت ______ه باسمه.
بعد انتهاء الاستدعاء، يستمر البرنامج من حيث توقف.
استدعاء إجراء
- لتشغيل إجراء من مكان آخر، تقوم بـ استدعائه باسمه.
- عند انتهاء الاستدعاء، يستمر البرنامج من النقطة التي توقف عندها.
- لذا يكون الاستدعاء كالتفاف: اذهب لإنجاز المهمة، ثم عد.
- يمكن استدعاء نفس الإجراء من أماكن متعددة.
كيف يعمل استدعاء الإجراء
الاستدعاء يقفز إلى الإجراء مع حججه، يشغل الجسم، يعيد قيمة، ويستمر البرنامج حيث توقف.
طابق كل مصطلح في area(4, 5) بمعناه.
الحجج هي القيم الفعلية؛ المعاملات هي الأماكن المسماة.
في total ← area(4, 5)، ماذا يعيد area؟
يتم تخزين النتيجة المُرجعة للاستخدام لاحقاً.
الحجاج، المعاملات، والإرجاع
- يمكن للإجراءات استقبال مدخلات: تمرر الحجج داخل إجراء من خلال معاملاته.
area(length, width)عند استدعائها بـarea(4, 5)تستقبل القيمتين 4 و 5.- يمكن للإجراء أيضاً إرجاع قيمة إرجاع — وهي نتيجة تستخدمها لاحقاً.
- على سبيل المثال، يخزن
total ← area(4, 5)القيمة المُرجعة.
إذا كان square(n) يعيد n × n، فماذا يعيد square(square(3))؟
square(3) = 9، ثم square(9) = 81.
عند استدعاء square(3)، تحتاج إلى معرفة ما تفعله، وليس كيف تعمل داخلياً.
إخفاء تفاصيل التنفيذ هو التجريد الإجرائي.
إخفاء التنفيذ
- تدعم الإجراءات التجريد من خلال إخفاء تفاصيل التنفيذ عن مستخدم الإجراء.
- لا تحتاج إلا إلى معرفة ماذا يفعل الإجراء، وليس كيف يعمل داخلياً.
square(n) يُرجع n × n. a ← square(3) يخزن 9. b ← square(a) يخزن 81، لأن square(9) هو 81. المُستدِع لا يرى عملية الضرب الداخلية — بل يستخدم فقط القيمة المُرجعة.
الإجراء (أو الدالة أو الطريقة) هو كود قابل لإعادة الاستخدام تستدعيه باسمه؛ ويستمر البرنامج بعد إرجاعه. تمرر الحجج داخل معاملاته ويمكنك استخدام قيمة الإرجاع الخاصة به. تمنح الإجراءات التجريد — حيث يعرف مستخدم الإجراء ماذا يفعل، لكن لا يعرف التنفيذ.