#1
|
||||
|
||||
الدرس السابع : الدوال والطرق .net 2008
بسم الله الرحمن الرحيم . السلام عليكم ورحمة الله وبركاته . في الجزء الأول من درسنا لهذا الاسبوع تعرفنا على كيفية تشتغيل Visual Studio .net 2008 ، كان آخر خطواتنا في الدرس السابق ان قمنا بكتابة جملة Hello world وطبعناها على الشاشة ، ضمن باقي دروس هذا الاسبوع سنفهم كيف قمنا بكتابة هذه الجملة وما هو الكلاس .. الدول والتعامل معها وخلافه . بسم الله نبدا ... لنفهم برنامجنا الأول : لو لاحظنا برنامجنا الأول لطباعة جملة Helow World والذي كان بالشكل التالي : C#: كود PHP:
كود PHP:
الجزء الثاني هو تعريف ال name space الخاص ببرنامجنا وهو الاسم الذي توضع تحته كل مكونات البرنامج ، ومن ثم ال Class الاساسي لدينا باسم Main ... كما تعلمنا في اي مبادئ للبرمجة كائنية التوجه فإن أي برنامج يتكون من واحد او اكثر من ال Classes ، الدالة الرئيسية في ال Class المسمى Main هي الدالة main والتي يتم تنفيذها اول شيء في البرنامج . تستقبل الدالة Main مجموعة من الباميتير تحت اسم args ، معنى هذا ان البرنامج يستقبل مع تشغيله مصفوفة من args[0] إلى args[n] ، يمكن ارسال كل ما تريد إلى البرنامج من خلالها ، وهو ما يسمى Command Line Parameters . لكي لا نبعد عن مسارنا في الشرح ، ال Command Line Args هي مجموعة من المتغيرات التي يمكن تمريرها للبرنامج وقت تشغيله لتتحكم في بعض النقاط ، مثلاً لو قمنا بكتابة الامر التالي : كود PHP:
تستطيع تجربة ذلك على برنامجك من خلال قراءة المتغيرات الممرة له عن طريق For Loop : C#: كود PHP:
كود PHP:
كود PHP:
كتطبيق سريع ، سنقوم بقراءة المتغير الأول وفي حالة وجود 0 مثلاً يتم تلوين خلفية الكلام بالازرق ، وفيما عدا ذلك يتم تلوين خليفة الكلام بالأحمر ، هذا هو الكود الخاص بذلك : C#: كود PHP:
كود PHP:
C#: كود PHP:
كود PHP:
C#: كود PHP:
كود PHP:
الجدير بالذكر ان المعامل And لن يمكن تطبيقه في VB.net ، بل ستضطر لاستخدام AndAlso ، تجد عنها شرحاً هنا بقلم الأخ احمد بدر : http://vb4arab.com/vb/showthread.php?t=541 الدوال Function : كما شاهدنا في دالة Main ، يمكننا انشاء اي عدد من الدوال بأي عدد من المتغيرات ، كل ما نحتاج إليه هو معرفة البارمتيرات التي نريد لها ان تصل للدالة ، وايضاً الناتج الخارج منها ، لنفترض مثلاً اننا نصمم دالة لعملية الجمع ، تستقبل رقمين int وتخرج ناتج int ، ستكون الدالة بالشكل التالي : C#: كود PHP:
كود PHP:
C#: كود PHP:
كود PHP:
المتغيرات Variables : في اي جزء من البرنامج داخل ال Class يمكننا تعريف المتغيرات حسب النوع int , string مثلاً ، ويتم تحديد مدى الوصول عبر المكان الموجود فيه التعريف . لتوضيح هذه النقطة نعود لمثال الجمع السابق ، في المثال السابق نجد المتغير total في الدالة sum ، هذا المتغير لن يستطيع أحد الوصول إليه إلا خلال الدالة ، أما لو قمنا بتعريف متغير خارج الدالة ( داخل الكلاس مباشرة ) فيمكن لاي دالة الوصول إليه مباشرة ، في هذه الحالة يسمى Member . - سنتعرف على بعض التفاصيل الاضافية لاحقاً . لدينا نوعين من المتغيرات ، النوع الأول وهو البسيط مثل int و Long وخلافه حيث يتم يشير اسم المتغير لمكانه من الذاكرة أما المركب مثل Array و Struct فيشير المتغير إلى مكان تستطيع منه الاشارة إلى المتغير في الذاكرة . الطرق mehtods : الطرق هي الدالة التي لا تعيد ناتج ، مثل دالة عرض كتابة رسالة بالشكل التالي : C#:لماذا تم تعريف sum على انها Static أو Shared ؟؟ السبب انه لا يمكن استدعاء دالة غير Static من خلال دالة static ، وبما ان دالة Main هي من نوع static فلا بد من ان تكون اي دالة اخرى يتم استدعائها من خلال ال main هي static ايضاً ، سنتعرف على بعض التفاصيل الاضافية لاحقاً ، ما ينطبق على static في C# ينطبق على VB.net ايضاً مع Shared . المتغيرات Variables : في اي جزء من البرنامج داخل ال Class يمكننا تعريف المتغيرات حسب النوع int , string مثلاً ، ويتم تحديد مدى الوصول عبر المكان الموجود فيه التعريف . لتوضيح هذه النقطة نعود لمثال الجمع السابق ، في المثال السابق نجد المتغير total في الدالة sum ، هذا المتغير لن يستطيع أحد الوصول إليه إلا خلال الدالة ، أما لو قمنا بتعريف متغير خارج الدالة ( داخل الكلاس مباشرة ) فيمكن لاي دالة الوصول إليه مباشرة ، في هذه الحالة يسمى Member . - سنتعرف على بعض التفاصيل الاضافية لاحقاً . لدينا نوعين من المتغيرات ، النوع الأول وهو البسيط مثل int و Long وخلافه حيث يتم يشير اسم المتغير لمكانه من الذاكرة أما المركب مثل Array و Struct فيشير المتغير إلى مكان تستطيع منه الاشارة إلى المتغير في الذاكرة . الطرق mehtods : الطرق هي الدالة التي لا تعيد ناتج ، مثل دالة عرض كتابة رسالة بالشكل التالي : C#: كود PHP:
VB.net: كود PHP:
كما تعلمنا في المثال السابق فإننا نقوم بارجاع النتيجة من خلال return ، ماذا لو اردنا اعادة نتيجة من دالة void ، يتم ذلك باستخدام الدالة Out بالشكل التالي : C#: كود PHP:
كود PHP:
C#: كود PHP:
كود PHP:
الاجابة الابسط ، هي انني لو اردت اعادة اكثر من نتيجة مثل ناتج الضرب والجمع والقسمة ، فليس امامي حل سوى اعادة مصفوفة بالارقام وقراءتها هناك ، الحل الابسط هو باستخدام out . الارسال بالمرجع byref والارسال بالقيمة byval : لنفترض المثال الخاص بعملية الطرح بالشكل التالي : C#: كود PHP:
كود PHP:
C#: كود PHP:
كود PHP:
الارسال بالمرجع ByRef هي الحالة الثانية ، في هذه الحالة يتم ارسال عنوان المتغير X في الذاكرة إلى الدالة ، هذا ما يعني ان اي تغيير في number1 سيؤثر بالضرورة على المتغير x . لكتابة الكود السابق بطريقة ByRef نكتب الكود التالي : C#: كود PHP:
كود PHP:
والله الموفق ... والسلام عليكم ورحمة الله وبركاته .
|
|
|
المواضيع المتشابهه | ||||
الموضوع | كاتب الموضوع | المنتدى | مشاركات | آخر مشاركة |
الدرس الأول : تحميل .net 2008 ومميزات استخدامه | khaledbelal | دورة .NET 2008 من منتدى فيجوال بيسك للعرب | 5 | 03-11-2012 03:42 PM |
الدرس السابع( تتمت اداب المسلم) | ابو تسنيم | روضة العقيدة | 2 | 03-19-2010 08:13 PM |
الدرس السابع عشر : مقدمة إلى مبادئ Oop دورة .net 2008 | khaledbelal | دورة .NET 2008 من منتدى فيجوال بيسك للعرب | 0 | 02-19-2010 08:16 PM |
الدرس الخامس : الأنواع والدوال الرئيسية .net 2008 | khaledbelal | دورة .NET 2008 من منتدى فيجوال بيسك للعرب | 0 | 02-16-2010 03:24 AM |
الدرس الثاني : تقنيات جديدة مع .net 2008 | khaledbelal | دورة .NET 2008 من منتدى فيجوال بيسك للعرب | 0 | 02-15-2010 03:37 AM |