تنفذ لطرق في الكثير من الاحيان على أغراض معينة. إلا أنه في لعديد من الحالات يمكن ان تهدف الطريقة إلى القيام بتنفيذ مهمة لا تتعلق بمحتوى أي غرض. تسمى هذه الطرق بالطرق الساكنة ويمكن التصريح عنها باستخدام الكلمة المفتاحية static. *يتم استدعاء طريق ساكنة من صف بكتابة اسم الصف متبوعاً بالمعامل (.) ثم اسم الطريقة مع تمرير معاملاتها إن وجدت بين قوسين:
ClassName MethodName( arguments )
*بالعودة إلى الصف GradeBook المنشئ في المثال السابق. سنقوم بتعديل الطريقة ()DisplayMessage بحيث تصبح ساكنة:
GradeBook.cs//
Class declaration with one method//
;using System
public class GradeBook
}
display a welcome message to the GradeBook user//
()public static void DisplayMessage
}
;Console.WriteLine( "Welcome to the Grade Book!" )
end method DisplayMessage//
{
end class GradeBook//
{
بالعودة إلى الملف GradeBookTest.cs لاستدعاء طريقة الصف الساكنة السابقة:
GradeBookTest.cs//
public class GradeBookTest
}
Main method begins program execution//
public static void Main( string[] args )
}
;()GradeBook.DisplayMessage
{
end Main//
{
end class GradeBookTest//
يكون ناتج التنفيذ:
!Welcome to the Grade Book
...Press any key to continue
التصريح عن طريقة ساكنة لها معاملات : نقوم فيما يلي بإضافة معامل الدخل courseName( اسم المادة) لطريقة الصف السابق الساكنة ليُصبح الصف:
GradeBook.cs//
Class declaration with a method that has a parameter//
;using System
public class GradeBook
}
display a welcome message to the GradeBook user//
public static void DisplayMessage( string courseName )
}
;Console.WriteLine( "Welcome to the grade book for\n{0}!", courseName )
{
end method DisplayMessage//
{
end class GradeBook//
نقوم باستدعاء الطريقة الساكنة السابقة ضمن الطريقة Main .يتم الطلب من المستخدم بإدخال سلسلة نصية (اسم المادة) ومن ثم تمرير القيمة كمعامل دخل للطريقة:
;using System
public class GradeBookTest
}
Main method begins program execution//
public static void Main( string[] args )
}
prompt for and input course name//
;Console.WriteLine( "Please enter the course name:" )
string nameOfCourse = Console.ReadLine(); // read a line of text
Console.WriteLine(); // output a blank line
call DisplayMessage method//
and pass nameOfCourse as an argument//
;GradeBook.DisplayMessage(nameOfCourse)
{
end Main//
{
end class GradeBookTest//
يكون التنفيذ مثالً:
:Please enter the course name
Programming
Welcome to the grade book for
!Programming
...Press any key to continue
الكلمة المفتاحية public: يجب التصريح عن طريقة في صف بأنها عامة كي نستطيع استدعائها في صف آخر. يتم التصريح عن طريقة بأنها عامة باستخدام الكلمة المفتاحية public. في حال كان استدعاء الطريقة ضمن نفس الصف فليس من الضروري التصريح عن الطريقة بأنها عامة. نقوم في المثال التالي بالتصريح عن الطريقة DisplayMessage ضمن نفس الصف GradeBookTest واستدعائها في الطريقة Main للصف نفسه:
;using System
public class GradeBookTest
}
static void DisplayMessage(string courseName)
}
,"!Console.WriteLine("Welcome to the grade book for\n{0}
(;courseName
{
end method DisplayMessage//
Main method begins program execution//
public static void Main( string[] args )
}
prompt for and input course name//
;Console.WriteLine("Please enter the course name:")
string nameOfCourse = Console.ReadLine(); // read a line of text
Console.WriteLine(); // output a blank line
call DisplayMessage method //
and pass nameOfCourse as an argument//
;DisplayMessage(nameOfCourse)
{
end Main//
{
end class GradeBookTest//
يكون ناتج التنفيذ:
:Please enter the course name
Programming
Welcome to the grade book for
!Programming
...Press any key to continue
الطريقة الساكنة Main:
يبدأ التنفيذ من الطريقة الساكنة Main والتي تكون معرفة عادة كما يلي:
public static void Main(string[] args)
يمكنك حذف المعاملات للطريقة ماين Main في حال عدم الحاجة إليها:
public static void Main()
عندما تقوم بتنفيذ التطبيق من سطر التعلميمات (line command) يمكنك كتابة اسم التطبيق متبوعًا بقيم لهذه المعاملات كما يبين المثال التالي:
;using System
public class MathTest
}
obtain three floating-point values and determine maximum value//
public static void Main(string[] args)
}
Console.WriteLine("Welcome to " + args[0] + " from " + args[1] );
{
end Main//
{
يمكنك في هذا المثال فتح نافذة الأوامر:
Accessories → Command Prompt
اكتب اسم الملف التنفيذي متبوعًا بقيم لمعاملات:
Microsoft Windows [Version 6.1.7601]
.Copyright (c) 2009 Microsoft Corporation. All rights reserved
C:\>TestMain.exe C# Microsoft
Welcome to C# from Microsoft
C:\>
ملاحظة: قمنا في مثالنا بنسخ الملف التنفيذي إلى المجلد \:C.
الان هذا فيديو توضيحي نكمل فيه ما تبقى من الصفوف و الاغراض و الطرق ... ثم شرح للطرق الساكنة ..
ايضا هذا فيديو توضيحي للطرق الساكنة ...
اذ كان لديكم اي استفسار اتركوه لي في التعليقات..بالتوفيق 🍀
سنستهل حديثنا اليوم اصدقائي وبعد تعرفنا على التعليمات
الاساسية في الخوارزميات، في إنشاء الصفوف و الاغراض في Visual Studio 2013 طبعا اذا قمت بالعمل
على نسخة حديثة فلا يهم كله ذات الامر الا ان النسخة الحديثة اكثر مساعدة في تحديد
مواضع الخطأ ونوعه وغيرها اي قد يمنعنا من فرصة التعلم و البحث الذاتي :
الصفوف و
الاغراض و الطرق
إنشاء صف يحوي طريقة وإنشاء غرض من الصف :
يسمح محيط العمل 2013Visual
Studio بإنشاء التطبيقات بشكل بسيط وسريع:
1.افتح محيط العمل Visual Studio 2013
2 .أنشئ مشروع جديد:
File → New → Project
3 .اختر Visual
C# Console Application ،وقم بإدخال اسم المشروع GradeBook ومسار
التخزين:
4 .يتم فتح مشروع جديد يحوي الملف Program. cs والذي بداخله الطريقة ( ) Main والتي هي نقطة
البدء بالتنفيذ:
5 .قم بتغيير اسم الملف Program. cs إلى GradeBookTest. cs لاحظ ان اسم الملف سيصبح
تلقائياً GradeBookTest أيضاً.
6 .انقر بالزر الأيمن على أيقونة المشروع GradeBook ثم اختر إضافة Add صف Class:
7 .قم بتسمية الصف الجديد GradeBook.
8 .قم بكتابة الطريقة البسيطة ()DisplayMessage في الصف والتي تظهر
الرسالة الترحيبية التالية :
// GradeBook.cs
// Class declaration with one method.
using System;
public class
GradeBook
{
// display a
welcome message to the GradeBook user
public void
DisplayMessage()
{
Console.WriteLine(
"Welcome to the Grade Book!" );
} // end
method DisplayMessage
} // end
class GradeBook
9 .افتح الملف cs.GradeBookTest لإنشاء غرض من الصف واستدعاء طريقة الصف:
//
GradeBookTest.cs
// Create a
GradeBook object and call its DisplayMessage method.
public class
GradeBookTest
{
// Main
method begins program execution
public static
void Main( string[] args )
{
// create a
GradeBook object and assign it to myGradeBook
GradeBook myGradeBook;
myGradeBook =
new GradeBook();
// call
myGradeBook's DisplayMessage method
myGradeBook.DisplayMessage();
} // end Main
} // end
class GradeBookTest
10 .قم بالتنفيذ:
Welcome to
the Grade Book!
Press any key
to continue . . .
11 .لاحظ أنك بعد إضافتك للصف الجديد GradeBook
أصبح لديك نمط بيانات جديد يمكنك تعريف متغيرات منهو انشاء أغراض جديدة.
12 .يتم استخدام المعامل new لإنشاء متغير(غرض object، منتسخ instance )جديد من الصف
.GradeBook
لاحظ المعامل (.) بعد اسم المتغير لاستدعاء طريقة الصف.
التصريح عن طريقة المعاملات الفرق بين :
التصريح عن طريقة لها معاملات :
نقوم
فيما يلي بإضافة معامل الدخل courseName(اسم المادة) لطريقة الصف السابق ليصبح
الصف:
// GradeBook.cs
// Class
declaration with a method that has a parameter.
using System;
public class
GradeBook
{
// display a
welcome message to the GradeBook user
public void
DisplayMessage( string courseName )
{
Console.WriteLine(
"Welcome to the grade book for\n{0}!", courseName );
} // end
method DisplayMessage
} // end
class GradeBook
ثم
نقوم بإنشاء غرض من الصف السابق واستدعاء الطريقة DisplayMessage مع تمرير قيمة لمعامل
الدخل. يتم الطلب من المستخدم بإدخال سلسلة نصية (اسم المادة) ومن ثم تمرير القيمة
كمعامل دخل للطريقة:
//GradeBookTest.cs
//Create a
GradeBook object and pass a String to
// its DisplayMessage method
using System;
public class
GradeBookTest
}
// Main
method begins program execution
public static
void Main( string[] args )
{
// create a
GradeBook object and assign it to myGradeBook
GradeBook
myGradeBook = new GradeBook();
// prompt for
and input course name
Console.WriteLine(
"Please enter the course name:" );
string
nameOfCourse = Console.ReadLine(); // read a line of text
Console.WriteLine();
// output a blank line
// call
myGradeBook's DisplayMessage method
// and pass
nameOfCourse as an argument
myGradeBook.DisplayMessage(nameOfCourse);
} // end Main
} // end
class GradeBookTest
يكون
التنفيذ مثلاً:
Please enter
the course name programming:
Welcome to
the grade book for programming!
Press any key
to continue
إليكم هذا الفيديو التوضيحي لكل ما شرح اعلاه :
يتبقى لنا هكذا القليل حتى نبدأ مع اساسيات لغة سي شارب ...أتمنى ان يكون كل ما ذكر واضحا🍀
ان كنت من المهتمين بكل جديد فى العالم التقنى يمكنك
الاشترك فى قناة تى جو على اليوتيوب بالضغط على زر اليوتيوب فى الاسفل حتى تكون اول المستفيدين من شروحاتنا .
=================================
وان كان لديك اى اسئله او اقتراحات يمكنك التواصل معنا عبر مواقع التواصل الاجتماعى اسفل الرساله
وسوف نقوم بالرد فى اسرع وقت .
شكرا على المتابعه .