الدوال Methods في C#
تعتبر الدوال من أهم التعليمات لأي لغة برمجية فهي جزء أساسي لبناء التطبيقات… فكيف يتم إنشاء الدوال Methods في لغة C# ...!! وما هي أنواع الدوال Methods في سي شارب…؟؟!! ماطريقة العمل مع الدوال Methods في سي شارب..؟؟!!
تأتي الدوال (Methods) في C# من بين المفاهيم الأساسية كجزء أساسي من بنية اللغة والأسلوب المستخدم لتنظيم وتنفيذ البرامج فهي أحد أساسيات البرمجة. في هذا المقال نتعرف الدوال في لغة C# كيف يتم تعريف الدالة في لغة سي شارب وماهي أنواع الـ Methods في C# والمزيد لنبدأ…
في هذا المقال نتعرف على:
- مفهوم الدالة Method في C# .
- إنشاء Methods في C# .
- استخدام الدوال Methods من .Net .
- أهمية الدوال Method في البرمجة بلغة C# .
مفهوم الدالة Method في C#
في البرمجة عموماً عندما نريد حل مشكلة ما فإننا نقوم بتقسيم هذه المشكلة إلى أجزاء كل جزء من هذه الأجزاء ينفذ مهمة محددة لحل هذه المشكلة أي أن هذه الاجزاء مع بعضها البعض تمثل سلوك البرنامج لحل هذه المشكلة. وتختلف تسمية هذه الأجزاء من لغة برمجية الى اخرى فبعض اللغات تسمى Actions او Functions هذا لأنها تقوم بوظيفة محددة وتسمى ايضاً بالأساليب Methods هذا لأنها تصف الأسلوب المتبع لحل المشكلة وهو ما يستخدم في C# .
تُعرَف الدالة Method في C# على أنها مجموعة من البيانات والتعليمات التي تقوم بتنفيذ مهمة محددة. تعتبر الدوال أداة قوية تساعد على تنظيم البرنامج إلى وحدات صغيرة ومنفصلة، مما يسهل فهم وصيانة الكود ويساعد في إعادة استخدام الكود في أجزاء مختلفة من البرنامج.
الدوال أو الأساليب Methods في C# هي عبارة الكتلة block من التعليمات برمجية تحتوي على سلسلة من تعليمات برمجية Instructions هذه التعليمات تقوم بتنفيذ مهمة محددة. والـ Method تنفذ عن طريق الإستدعاء عند الحاجة فقط وفي حال لم يتم الإستدعاء فإن كتلة التعليمات هذه لاتنفذ. الـ Methods في سي شارب يمكن أن تكون :
- دوال ترجع قيمة (Value-Returning Methods): تعتبر هذه الدوال من أهم أنواع الدوال في C# تقوم بتنفيذ سلسلة من الأوامر وترجع قيمة بعد الانتهاء. يمكن استخدام دوال الـ Value-Returning لتنفيذ حسابات معقدة واسترجاع النتائج للاستخدام في أماكن أخرى من البرنامج.
- دوال الإجراء (Void Methods): تعتبر هذه الدوال من أكثر الأنواع شيوعًا في C# . تقوم بتنفيذ سلسلة من الأوامر ولا ترجع قيمة. يتم استخدام دوال الإجراء لتنفيذ أعمال محددة دون الحاجة إلى إرجاع قيمة محددة..
كما يمكن أن تكون الـ Method جاهزة للإستدعاء وموجودة في المكتبات الخاصة بـ .Net
إنشاء Methods في C#
لإنشاء دالة Method في C# ، يتم تعريفها بشكل مستقل داخل Class ويتم تحديد اسم الدالة Method Name وقائمة المعاملات Parameters List (إذا كانت موجودة) و (إذا كانت ثابتة)، ثم يتم تنفيذ سلسلة من العبارات داخل الدالة
اذاً تتكون الـ Method في سي شارب من:
- اسم Method Name والإسم معرفًا ذا مغزى يشير إلى الغرض العام المراد من إنشاء الدالة و يتم استدعاء الدالة بإسمها.(عند تسمية الدوال في البرمجة ، يجب أيضًا النظر في الشفافية وإعطاء المعنى للعمليات. فتكون تسمية الدوال بطريقة واضحة تعكس العملية التي تقوم بها. هذا يسهل فهم البرنامج وتوثيقه، ويمكن لفريق البرمجة تبادل المعرفة بشكل أفضل حيث العمل الجماعي ويساهم في الانسيابية والتفاعل بين المبرمجين).
- وجسم Method Body ونعني بالجسم الدالة مجموعة التعليمات التي سيتم تشغيلها عند استدعاء الدالة.
- ويمكن إعطاء الـ Methods قائمة المعاملات Parameters List وهي البيانات المراد معالجتها بواسطة تعليمات الدالة (اختياري على حسب ما يتطلب).
- نوع القيمة المُرجَعة ٌReturn Type (اذا كانت الدالة من النوع الذي يرجع قيمة).
دوال ترجع قيمة (Value-Returning Methods)
طريقة الإعلان عن دالة ترجع قيمة Methods في C# , تكون الصيغة العامة للإعلان عن دالة ترجع قيمة في لغة سي شارب كالتالي :
returnType MethodName( parametersList ) { // Method body statements go here return value;
نرى أن بيان الإعلان عن الدالة يتكون من نوع القيمة المرجعة متبوع باسم الدالة ثم زوج من الأقواس parentheses( ) عندما ترجع دالة قيمة لابد أن نحدد نوع القيمة المرجعة في بيان الإعلان كذلك لابد من تحتوي تعليمات الدالة على الكلمة المحجوزة return متبوعة بالقيمة المرجعة .
في سي شارب اذا كانت الدالة تستقبل Parameters لابد ان يحدد نوع لكل من هذه الـ Parameters في مكان Parameters List وقد تستقبل الدالة Parameter واحد او اكثر اذا كان لدينا أكثر نستخدم الفاصلة (،) للفصل بينها. وهنا أمثلة توضح طريقة الإعلان والإستدعاء لهذا النوع من الدوال Methods بواسطة تعليمات C# :
...........
//Declaring the method takes one parameter
double Square (double a) {
return a * a;
}
//Declaring the method takes two parameters
int Add (int a, int b ){
return a + b;
}
//Save the return value in variable
double num = Square (3); //calling the Square method
Console.WriteLine(num); //print the return value
//Print the return value
Console.WriteLine(Add(2,3)); //calling the add method within WriteLine method
...........
دوال الإجراء (Void Methods)
طريقة الإعلان عن دالة Method لا ترجع قيمة. تكون الصيغة العامة للإعلان عن دالة Method لاترجع قية في لغة سي شارب كتالي:
void MethodName (parametersList) { // Method body statements go here }
نرى هنا اننا نستخدم الكلمة المحجوزة void في بيان الإعلان عنها متبوع باسم الدالة كذلك تستخدم و الأقواس و Parameters List كما ذكرنا في مع الدالة التي ترجع قيمة.
لنأخذ أمثلة توضح طريقة الإعلان والإستدعاء لدالة من نوع void في سي شارب :
...........
//Declaring the method takes one parameter
void Square (double a) {
Console.WriteLine(a *a);
}
//Declaring the method takes two parameters
void Add (int a, int b ){
Console.WriteLine( a + b);
}
//calling the Square method
Square (3);
//calling the Add method
Add(2,3);
...........
ملاحظة : عند استدعاء أي دالة تستقبل Parameters لابد ان يكون نوع البيانات المرسلة (arguments) عند الاستدعاء مطابقة مع Parameter List من حيث النوع والترتيب.
استخدام الدوال Methods من .Net
عند استدعاء الدالة في البرنامج، يتم تمرير المعاملات اللازمة إليها (إن وجدت)، وستقوم الدالة بتنفيذ العمليات المحددة وتُرجِع النتيجة إذا كانت تحتاج إلى ذلك. بالتالي، يتم استخدام الدوال في C# لتنفيذ المهام المتكررة والعمليات المعقدة والتلاعب بالبيانات.ويمكن أن تكون الـ Method جاهزة للإستدعاء وموجودة في المكتبات الخاصة بـ .Net ذكرنا هذا بإيجاز في مقال مقدمة إلى سي شارب وفيما يلي شرح لدوال الدوت نت:
- يوجد في .Net مايُعرف بـ NET Framework Class Library وهو مجموعة من المكتبات تسمى Namespace Collections معرفة مسبقاً تستخدم في تطبيقات .Net أي لكل Namespace اسم تستدعى بواسطة باستخدام الكلمة المحجوزة “using”.
- وتحتوي الـ Namespace الواحدة على مجموعة من الـ Classes حيث يحتوي كل Class من هذه الـ Classes على مجموعة من المتغيرات والدوال الـ Method الجاهزة للإستخدام.
- لكي يتسنى لنا العمل مع الدوال الـ Methods الجاهزة لابد من تضمين الـ Namespace الخاصة بها في البرنامج كما يمكن تحديد الـ Class الخاص بها من هذه الـ Namespace حيث تستخدم الكلمة المحجوزة using لتضمين الـ Namespace ويستخدم المعامل (.) مع الـ Class او لتحديد الدالة المراد استدعائها لنأخذ أمثلة ليتضح الأمر:
- عندما نكتب:
using System.IO;
هذا يعني استخدم الـ Namespace التي اسمها "System" والـ Class الذي اسمه "IO" الموجود في System.
- وعند استدعاء الدوال نكتب اسم الـ Class أولاً ثم اسم الدالة مثلاً :
Console.WriteLine();
الـ Class هو " Console" والدالة هي WriteLine()
أو
Convert.ToDouble();
الـ Class هو "Convert" والدالة هي ToDouble()
- عندما نكتب:
وتوفر System Namespace مجموعة من Classes المهمة منها Math Class والذي يحتوي على عدد من الدوال التي تقوم بأداء العمليات الحسابية المعروفة ويوضح الشكل التالي أهم بعض منها:
مما سبق نستنتج أن يمكن إعادة استخدام الدوال Method المعرفة مسبقاً في البرامج كوحدات بناء لإنشاء تطبيقات جديدة وهذا يفيد في:
- تجنب تكرار التعليمات البرمجية.
- يؤدي تقسيم التطبيق إلى Methods إلى تسهيل التطبيق وصيانته.
لهذا تُعد الدوال Methods من الأدوات الرئيسية في لغة C# فهي تسهم بشكل فعال في تنظيم التنفيذ للبرامج. وتُسهم أيضاً في جعل الكود أكثر قابلية للقراءة والصيانة وإعادة الاستخدام.
أهمية الدوال Method في البرمجة بلغة C#
الدوال (Methods) هي عناصر أساسية في لغة البرمجة C# وتعتبر من أهم المكونات في بناء برامج قوية وقابلة لإعادة الاستخدام. فيما يلي بعض الأدوار الهامة للدوال في البرمجة بلغة C# :
- هيكلة البرامج:
تساعد الدوال في تنظيم البرامج وتقسيمها إلى أجزاء صغيرة ومنطقية. يمكنك تعريف دوال لأجزاء محددة من العمليات وإعادة استخدامها في أجزاء أخرى من البرنامج. هذا يساعد على جعل البرنامج أكثر قابلية للفهم والصيانة. - إعادة الاستخدام:
يمكنك إنشاء دالة واحدة تقوم بتنفيذ مجموعة من العمليات واستخدامها في العديد من الأماكن داخل البرنامج. هذا يقلل من تكرار الكود ويوفر وقت البرمجة وجهود الصيانة. - الكود النظيف والقابل للصيانة:
باستخدام الدوال، يمكنك تجزئة البرامج إلى أجزاء صغيرة ومستقلة. هذا يجعل الكود أكثر نظافة ويسهل فهمه وصيانته. يمكنك تحسين الأداء وإجراء التغييرات بشكل مركزي عندما يتعين ذلك. - إعطاء المعنى والشفافية:
باستخدام الدوال، يمكنك تسمية العمليات وإعطائها معنى واضحًا. هذا يساعد على فهم البرنامج وتوثيقه وتبادل المعرفة بين فريق البرمجة. - إمكانية إرجاع القيم:
يمكن للدوال في C# أن ترجع قيمة محددة بناءً على المعالجات التي تقوم بها. هذا يسمح بتنفيذ العمليات المعقدة واستخدام النتائج في أماكن أخرى من البرنامج. - إمكانية تمرير المعاملات:
يمكن للدوال أن تأخذ معاملات كمدخلات وتستخدمها في تنفيذ العمليات. هذا يسمح بتحقيق تعامل مرن وديناميكي مع البيانات.
الدوال تعتبر أحد أساسيات لغة البرمجة C# وتوفر العديد من المزايا مثل هيكلة البرامج، إعادة الاستخدام، الكود النظيف، الشفافية، إمكانية إرجاع القيم، وتمرير المعاملات. يجب على المطورين الاستفادة القصوى من هذه الميزات لتحقيق برامج فعالة وقوية.
امثلة المقال متوفرة على الرابط هنا.
إذا كنت مهتمًا بتطوير برامج قوية وفعالة بلغة سي شارب، فإن فهم واستخدام الدوال Methods سيكون أحد الأساسيات التي يجب عليك تعلمها. ستمكنك الدوال من تنظيم البرنامج وتعزيز إمكانياتك في إنشاء تطبيقات قوية ومرنة. إن التعامل مع الدوال Methods مهم، لهذا يجب تفصيلية في هذا المقال عرفنا مفهوم الدالة Method في C# و أوضحنا أهميتها في عملية البرمجة كما شرحنا طريقة إنشاء الدوال Methods في لغة C# وطريقة استخدام الدوال Methods من الـ .NET وللمزيد عن الدوال Methods في لغة سي شارب قم بزيارة المقال التعامل مع الدوال Methods في C# .